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

for (int i = 0; i < cellCount - 1; i++) {
e.Item.Cells.RemoveAt(0);
}

int itemCount = titlesGrid.Items.Count;
string itemCountString;
if (itemCount == 0) {
itemCountString = "No Titles Found";
}
else {
itemCountString = Int32.ToString(itemCount) +
" title(s)";
}

TableCell summaryCell = e.Item.Cells[0];

summaryCell.Text = itemCountString;
summaryCell.ColumnSpan = cellCount;
summaryCell.HorizontalAlign = HorizontalAlign.Right;
}
}

// 超控 OnLoad,以载入选定作者的详细资料
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);

string authorID = Request.QueryString["AuthorID"];
if (authorID != null) {
SelectAuthor(authorID);
detailsPanel.DataBind();
}
}

// 根据给定作者 ID 来设置 CurrentAuthor 对象
private void SelectAuthor(string authorID) {
DataSet ds = GetSessionData();
DataView dv = ds.Tables["Author"].DefaultView;

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

通过访问 Request.QueryString 集合,类就超越页面的 OnLoad 方法来检索作为 URL 请求中的参数传来的 Author ID。然后使用该 Author ID 来查询数据源和设置 CurrentAuthor 属性。最后,调用 DataBind,从而为所有的数据绑定的表达式求值。

另外,该页面为 DataGrid 控件的 ItemCreated 事件实施了一个事件处理器。 ItemCreated 事件是 DataGrid 为其高级用途提供的扩展机制之一。该事件允许从行的控件结构内部添加和删除控件,以及在特殊情况下将其添加到特定行。

DataGrid 每次创建一个项目(或行)时,就引发该事件。这具体有两种情况:

要对控件进行数据绑定,且项目需要从头创建,则在将项目进行数据绑定之前,引发该事件。


当要从往返过程中的保存状态创建项目时,则在将所保存的状态载入项目及其包含的控件之前引发该事件。
结果是,该事件提供一个挂钩,用于对项目的现有控件结构进行更改。

在本例中,处理器修改控件的标尾,以显示所列书名的的一个计数。标尾所包含的列的数目与其它行一样。摘要需要横跨整个 DataGrid。因此,处理器仅保留行中的一个单元格,将其余全部删除,并将仅剩的单元格的 ColumnSpan 重置,以使其横跨整个列集,设定其 HorizontalAlign 属性,以使文字右对齐,最后设定其 Text,指示计数。

处理该事件时,只有一条规则需要遵守:您必须进行同样的结构转换,无论调用该项目的上下文如何,无论是在数据绑定过程中,还是在往返过程中。


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


第 3 步: 单页面中的主/详细资料视图

创建主/详细资料视图的另一备选且更常用的方法就是用单页面显示这些视图。



图 4. 完成第 3 步后的页面

Authors DataGrid 来自:

Step3.aspx:

<asp:DataGrid id="authorsGrid" runat="server"
...
DataKeyField="au_id"
OnSelectedIndexChanged="OnSelIndexChangedAuthorsGrid">

<property name="Columns">
<asp:ButtonColumn Text="Select" Command="Select"/>
...
</property>

...

<property name="SelectedItemStyle">
<asp:TableItemStyle BackColor="PaleGoldenRod" Font-Bold="true"/>
</property>
</asp:DataGrid>

与前一步相比,该声明中有三处变化。

首先,在第 2 步中添加的 HyperLinkColumn 已被删除。这不再需要,因为整个视图是在单页面中实施的。

其次,向列集添加了一个新的列类型 ButtonColumn。该列在每行中生成 LinkButton,用于提交该页,而不是从该页进行浏览。列的 Command 属性设定为 Select,对相应的 LinkButton 属性进行设定。 DataGrid 将 Select 作为一个标准命令,将包含被单击按钮的列选定。

当选定内容发生变化时, DataGrid 就引发 SelectedIndexChanged 事件,该事件在代码中得到处理。 DataKeyField 属性页得到设定,从而导致 DataKeys 集合填置与数据源中的每个项目相对应的值。
出处:本站原创 作者:佚名
 阅读排行
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.