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

...
</asp:DataGrid>

通过将 AllowSorting 设定为 true,启用排序。然后,对不支持排序的每列的 SortField 属性进行设定。没有设定该属性的列不会生成可点击标头。最后,处理 SortCommand 事件,这会在有代码支持的文件的上下文中加以论述。样例还为 ItemCreated 事件添加了一个事件处理器,以在视觉上显示列标头中的当前排序设置。下面的代码展示为向 Authors 列表添加排序功能而在有代码支持的类中进行更改和补充。

Step4Page.cs:

namespace Samples {
...

public class Step4Page : Page {

// 返回当前的排序方向,该信息是在
// Page 状态中维持的
protected bool SortAscending {
get {
object o = State["SortAscending"];
if (o != null)
return (bool)o;
return true;
}
set {
State["SortAscending"] = value;
}
}

// 返回当前的排序字段,该信息是在
// Page 状态中维持的
protected string SortField {
get {
object o = State["SortField"];
if (o != null)
return (string)o;
return "au_name";
}
set {
State["SortField"] = value;
}
}

// 检索 Authors 表
private ICollection GetAuthors() {
DataSet ds = GetSessionData();
DataView dv = ds.Tables["Author"].DefaultView;

dv.RowFilter = String.Empty;

string sort = SortField;
if (SortAscending == false) {
sort += " desc";
}
dv.Sort = sort;

return dv;
}

// 处理 ItemCreated 事件,以用排序图符对标头
// 进行定制
protected void OnItemCreatedAuthorsGrid(object sender,
DataGridItemCreatedEventArgs e) {
if (e.Item.ItemType == ListItemType.Header) {
string sortField = SortField;
bool ascending = SortAscending;

Label sortGlyph = new Label();
sortGlyph.Text = ascending ? " 5" : " 6";
sortGlyph.Font.Name = "Webdings";

TableCell cell = null;
if (sortField.Equals("au_name")) {
cell = e.Item.Cells[2];
}
else if (sortField.Equals("state")) {
cell = e.Item.Cells[3];
}

if (cell != null) {
cell.Controls.Add(sortGlyph);
}
}
}

// 处理作者网格中的 SortCommand 事件,以更新
// 排序参数和重新加载新排序的数据
protected void OnSortCommandAuthorsGrid(object sender,
DataGridSortCommandEventArgs e) {
string currentSortField = SortField;

SortField = e.SortField;
if (currentSortField.Equals(e.SortField)) {
SortAscending = !SortAscending;
}
else {
SortAscending = true;
}

LoadAuthorsGrid();
}
}
}

页面将当前字段和排序方向作为名值对,保留在页面的 State 属性中,并将其作为 SortField 和 SortAscending 属性提供出来,此时,页面负责在往返过程之间维持这些属性的值。

这些属性用于 GetAuthors 函数,这里,在返回 Author 列表 之前,会根据属性的当前值对其进行排序。

用于 SortCommand 事件的事件处理器在 DataGridSortCommandEventArgs 的一个实例中得到传递。该对象包含 SortField 属性的值,而该属性与标题被单击的列相关联。您可以选择对该值进行任意处理,只要该处理在您的应用程序中合理。例如,该值可以包含单个字段的名称,例如本样例中的情形,也可以包含排序信息,从而允许进行多列排序。
出处:本站原创 作者:佚名
 阅读排行
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.