下载首页 | 资讯中心 | 下载分类 | 最近更新 | 排 行 榜 | 国产软件 | 国外软件 | 汉化补丁 |
文章搜索: 分类 关键字 收藏本站设为首页
您的位置:首页网页设计ASP程序 → 使用 ASP+ DataGrid 控件来创建主视图/详细资料视图__教程
使用 ASP+ DataGrid 控件来创建主视图/详细资料视图__教程
日期:2007-5-20 1:22:40 人气:159     [ ]
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页

该页面还包含针对题为 detailsPanel 的面板内的详细资料节的 UI 和布局。这是从第 2 步原样复制的。

Step3Page.cs 表示这一步中的 .aspx 页面的支持代码。其中包括来自第 2 步中两个有代码支持的文件的代码组合。来自详细资料页面的大部分代码均为原样照搬。下面显示的代码包含我们所作的更改和补充。

Step3Page.cs:

namespace Samples {
...

public class Step3Page : Page {
private object currentAuthor;

// 将 Authors 表载入 DataGrid
// 另外还更新选定的作者
private void LoadAuthorsGrid() {
ICollection authors = GetAuthors();

authorsGrid.DataSource = authors;
if (authors.Count != 0) {
authorsGrid.SelectedIndex = 0;
}
else {
authorsGrid.SelectedIndex = -1;
}

authorsGrid.DataBind();
UpdateDetails();
}

// 处理作者网格中的 SelectedIndexChanged 事件,以
// 更新详细资料
protected void OnSelIndexChangedAuthorsGrid(object sender,
EventArgs e) {
UpdateDetails();
}

// 根据当前选定的作者来更新
// 详细资料节
private void UpdateDetails() {
UpdateSelection();

if (currentAuthor != null) {
detailsPanel.Visible = true;
detailsPanel.DataBind();
}
else {
detailsPanel.Visible = false;
}
}

// 更新当前选定的作者
private void UpdateSelection() {
int selectedIndex = authorsGrid.SelectedIndex;

currentAuthor = null;
if (selectedIndex != -1) {
string authorID =
(string)authorsGrid.DataKeys[selectedIndex];

DataSet ds = GetSessionData();
DataView dv = ds.Tables["Author"].DefaultView;

dv.RowFilter = "au_id = '" + authorID + "'";
currentAuthor = dv[0];
}
}
}
}

每次加载 Authors DataGrid 时,就初始化其 SelectedIndex 属性。一旦得到绑定,即其 DataKeys 集合填置完毕,就通过调用 UpdateDetails,更新详细资料节。

针对 SelectedIndexChanged 事件的处理器中的详细资料节也得到更新。注意,此时已借助 DataBind 未被调用以来的保存状态将 DataKeys 集合填置完毕。

UpdateDetails 方法首先调用 UpdateSelection。 UpdateSelection 使用 Authors DataGrid 的 SelectedIndex 和 DataKeys 属性来确定选定作者的 ID 和初始化 CurrentAuthor 属性。然后, UpdateDetails 调用 detailsPanel 控件上的 DataBind,对访问 CurrentAuthor 的数据绑定表达式进行求值。

除了借助 SelectedIndexChanged 事件进行选择跟踪,还可以从本样例实现另一关键概念。注意,改变选择内容并不需要已将 Authors DataGrid 进行过数据绑定。因此,从不需要重新加载 Authors 列表,从而极大地减少了对 Authors 表的访问。这是 ASP+ 中所实施的显式数据绑定模型的一个关键益处。


--------------------------------------------------------------------------------


第 4 步: 排序

DataGrid 支持生成可点击标头的功能,此类标头可以用于让最终用户对控件中所展示的数据进行排序。这一步添加了对 Authors 列表进行排序的功能。



图 5. 完成第 4 步后页面的屏幕快照

Authors DataGrid 来自:

Step4.aspx

<asp:DataGrid id="authorsGrid" runat="server"
...
AllowSorting="true"
OnSortCommand="OnSortCommandAuthorsGrid"
OnItemCreated="OnItemCreatedAuthorsGrid">

<property name="Columns">
<asp:ButtonColumn Text="Select" Command="Select"/>
<asp:BoundColumn HeaderText="ID" DataField="au_id">
<property name="HeaderStyle">
<asp:TableItemStyle Width="100px"/>
</property>
</asp:BoundColumn>
<asp:BoundColumn HeaderText="Name" DataField="au_name"
SortField="au_name">
出处:本站原创 作者:佚名
 阅读排行
01.精美qq空间横幅代码
02.最酷qq个性女生网名
03.最新又有免费QQ秀啦《..
04.巧用透明FlaSh扮靓你的..
05.花之神匠代码(最新代码..
06.最新QQ空间免费导航
07.最新免费个人形象设置..
08.最新qq空间flash代码m..
09.CSS技术结合图像实现动..
10.Photoshop光影魔术师:..
11.QQ音速种子狂刷
12.最新QQ空间透明代码
13.PS实例教程:教你制作结..
14.Photoshop光影魔术师:..
15.制作背景图__教程
16.用Photoshop制作漂亮的..
17.如何获得QQ音速种子
18.≤QQ空间代码≥在日志..
19.网页浮动广告的制作代..
20.用Photoshop制作大红灯..
21.常用CSS
22.Photoshop给靓丽美女打..
 推荐文章
·Photoshop 表现技法之..
·快速将你的相片矢量化..
·PHOTOSHOP制作炽热的太..
·用Photoshop制作美丽的..
·流行杀手的娃娃工厂__..
·打造8号台球__教程
·PHOTOSHOP制作待机MM图..
·用Photoshop帮MM做纹身..
·PHOTOSHOP美眉着色绝招..
·PHOTOSHOP花露的制作_..
·PHOTOSHOP渐变工具的巧..
·PHOTOSHOP手绘奥兰多-..
·高难度抠图两种方法__..
·Photoshop高尔夫球的制..
·Photoshop打造精美玉佩..
Eqxia_COM下载站 版权所有 Copyright© 2001-2005 Www.eqxia.COM, All Rights Reserved.