分享
 
 
 

ASP.Net2.0 GridView 多列排序,显示排序图标,分页

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

最近在使用ASP.net 2.0的GridView 控件时,发现排序与分页功能Microsoft实现的都很简单,比如排序,在点击列名的时候来触发整页的PostBack,然后排序,但是在列头上没有一个显示升序降序的图标,这会让最终用户使用时很迷惑,因为不知道是升序了还是降序了,所以今天首先解决的第一问题就是升序降序在列上显示图标,第二要解决的问题是默认GridView按列排序只能排一列的,也就是不能进行多列排序,而在实际应用中仅仅按照一列来排序是不能满足业务需求的,第三是GridView 分页问题,GridView预定义的分页页码显示,比较简单,而实际应用中,分页可能不是只显示首页,上一页,下一页,末页,或者是数字的页码那么简单,应该更需要,跳转,当前的页码,总页数等,更详尽的信息。

第一:GridView 多列排序与排序图标显示

首先我们可以新建一个类库程序,主要需要引用System.Web.Dll文件

然后新建一个类,这个类继承与GridView控件,我们只需要对部分方法进行重新即可。

我的演示的例子,采用了单列排序,如果启用多列排序,把控件的AllowMultiColumnSorting设置为True就是

多列排序。

1 public class WebGridView:GridView

2 {

3 属性#region 属性

4 /**//// <summary>

5 /// 是否启用或者禁止多列排序

6 /// </summary>

7 [

8 Description("是否启用多列排序功能"),

9 Category("排序"),

10 DefaultValue("false"),

11 ]

12 public bool AllowMultiColumnSorting

13 {

14 get

15 {

16 object o = ViewState["EnableMultiColumnSorting"];

17 return (o != null ? (bool)o : false);

18 }

19 set

20 {

21 AllowSorting = true;

22 ViewState["EnableMultiColumnSorting"] = value;

23 }

24 }

25 /**//// <summary>

26 /// 升序时显示图标

27 /// </summary>

28 [

29 Description("升序时显示图标"),

30 Category("排序"),

31 Editor("System.Web.UI.Design.UrlEditor", typeof(System.Drawing.Design.UITypeEditor)),

32 DefaultValue(""),

33

34 ]

35 public string SortAscImageUrl

36 {

37 get

38 {

39 object o = ViewState["SortImageAsc"];

40 return (o != null ? o.ToString() : "");

41 }

42 set

43 {

44 ViewState["SortImageAsc"] = value;

45 }

46 }

47 /**//// <summary>

48 /// 降序时显示图标

49 /// </summary>

50 [

51 Description("降序时显示图标"),

52 Category("排序"),

53 Editor("System.Web.UI.Design.UrlEditor", typeof(System.Drawing.Design.UITypeEditor)),

54 DefaultValue(""),

55 ]

56 public string SortDescImageUrl

57 {

58 get

59 {

60 object o = ViewState["SortImageDesc"];

61 return (o != null ? o.ToString() : "");

62 }

63 set

64 {

65 ViewState["SortImageDesc"] = value;

66 }

67 }

68 #endregion

69 重写方法#region 重写方法

70 protected override void OnSorting(GridViewSortEventArgs e)

71 {

72 if (AllowMultiColumnSorting)

73 {

74 e.SortExpression = GetSortExpression(e);

75 }

76

77 base.OnSorting(e);

78 }

79 protected override void OnRowCreated(GridViewRowEventArgs e)

80 {

81 if (e.Row.RowType == DataControlRowType.Header)

82 {

83 if (SortExpression != String.Empty)

84 {

85 DisplaySortOrderImages(SortExpression, e.Row);

86 this.CreateRow(0, 0, DataControlRowType.EmptyDataR

[1] [2] [3] [4] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有