扩展GridView控件(2) - 复合排序和排序状态提示
2007-01-03 18:55
423 查看
GridView既强大又好用。为了让它更强大、更好用,我们来写一个继承自GridView的控件。
[索引页]
[源码下载]
扩展GridView控件(2) - 复合排序和排序状态提示
作者:webabcd
/*正式版的实现 开始*/
介绍
扩展GridView控件:
对多个字段进行复合排序;升序、降序的排序状态提示
使用方法(设置SmartSorting复合属性):
AllowSortTip - 是否启用排序提示
AllowMultiSorting - 是否启用复合排序
SortAscImageUrl - 升序提示图片的URL(不设置则使用默认图片)
SortDescImageUrl - 降序提示图片的URL(不设置则使用默认图片)
SortAscText - 升序提示文本
SortDescText - 降序提示文本
关键代码
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI.WebControls;
using System.Web.UI;
namespace YYControls.SmartGridViewFunction
/*正式版的实现 结束*/
/*测试版的实现 开始*/
介绍
在用GridView自带的排序功能排序时,无法直观的知道当前是通过哪个字段排序?是升序还是降序?所以扩展一下,用图片或文字的形式来提示一下当前是根据哪个字段排序,是升序还是降序。
控件开发
1、新建一个继承自GridView的类。
[
ToolboxData(@"<{0}:SmartGridView runat='server'></{0}:SmartGridView>"),
ParseChildren(true),
PersistChildren(false)
]
public class SmartGridView : GridView
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
namespace YYControls.SmartGridView
3、在继承自GridView的那个类中加1个复杂对象属性,这个复杂对象就是第2步创建的那个SortTip
private SortTip _sortTip;
[
Description("排序提示信息"),
Category("扩展"),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
PersistenceMode(PersistenceMode.InnerProperty)
]
public virtual SortTip SortTip
protected override void OnRowDataBound(GridViewRowEventArgs e)
控件使用
添加这个控件到工具箱里,然后拖拽到webform上,设置其SortTip下的4个属性即可。SortAscImage是升序提示图片;SortAscText是升序提示文本;SortDescImage是降序提示图片;SortDescText是降序提示文本
ObjData.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.ComponentModel;
public class OjbData
Default.aspx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<yyc:SmartGridView ID="SmartGridView1" runat="server" AutoGenerateColumns="True"
AllowSorting="True" DataSourceID="ObjectDataSource1">
<Columns>
<asp:ButtonField CommandName="ConfirmTest" Text="确认按钮测试" />
</Columns>
<SortTip SortAscImage="~/Images/asc.gif" SortDescImage="~/Images/desc.gif" />
</yyc:SmartGridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="Select"
TypeName="OjbData"></asp:ObjectDataSource>
</div>
</form>
</body>
</html>
/*测试版的实现 结束*/
OK
[源码下载]
[索引页]
[源码下载]
扩展GridView控件(2) - 复合排序和排序状态提示
作者:webabcd
/*正式版的实现 开始*/
介绍
扩展GridView控件:
对多个字段进行复合排序;升序、降序的排序状态提示
使用方法(设置SmartSorting复合属性):
AllowSortTip - 是否启用排序提示
AllowMultiSorting - 是否启用复合排序
SortAscImageUrl - 升序提示图片的URL(不设置则使用默认图片)
SortDescImageUrl - 降序提示图片的URL(不设置则使用默认图片)
SortAscText - 升序提示文本
SortDescText - 降序提示文本
关键代码
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI.WebControls;
using System.Web.UI;
namespace YYControls.SmartGridViewFunction
/*正式版的实现 结束*/
/*测试版的实现 开始*/
介绍
在用GridView自带的排序功能排序时,无法直观的知道当前是通过哪个字段排序?是升序还是降序?所以扩展一下,用图片或文字的形式来提示一下当前是根据哪个字段排序,是升序还是降序。
控件开发
1、新建一个继承自GridView的类。
[
ToolboxData(@"<{0}:SmartGridView runat='server'></{0}:SmartGridView>"),
ParseChildren(true),
PersistChildren(false)
]
public class SmartGridView : GridView
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
namespace YYControls.SmartGridView
3、在继承自GridView的那个类中加1个复杂对象属性,这个复杂对象就是第2步创建的那个SortTip
private SortTip _sortTip;
[
Description("排序提示信息"),
Category("扩展"),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
PersistenceMode(PersistenceMode.InnerProperty)
]
public virtual SortTip SortTip
protected override void OnRowDataBound(GridViewRowEventArgs e)
控件使用
添加这个控件到工具箱里,然后拖拽到webform上,设置其SortTip下的4个属性即可。SortAscImage是升序提示图片;SortAscText是升序提示文本;SortDescImage是降序提示图片;SortDescText是降序提示文本
ObjData.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.ComponentModel;
public class OjbData
Default.aspx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<yyc:SmartGridView ID="SmartGridView1" runat="server" AutoGenerateColumns="True"
AllowSorting="True" DataSourceID="ObjectDataSource1">
<Columns>
<asp:ButtonField CommandName="ConfirmTest" Text="确认按钮测试" />
</Columns>
<SortTip SortAscImage="~/Images/asc.gif" SortDescImage="~/Images/desc.gif" />
</yyc:SmartGridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="Select"
TypeName="OjbData"></asp:ObjectDataSource>
</div>
</form>
</body>
</html>
/*测试版的实现 结束*/
OK
[源码下载]
相关文章推荐
- 扩展GridView控件(2) - 复合排序和排序状态提示
- 扩展GridView控件(2) - 复合排序和排序状态提示
- 上接扩展GridView控件(2) - 复合排序和排序状态提示
- 扩展GridView控件(2) - 复合排序和排序状态提示
- 扩展GridView控件(2) - 复合排序和排序状态提示
- 扩展GridView控件(2) - 复合排序和排序状态提示
- 关于Gridview的分页和排序以及如何维护控件的状态
- 扩展GridView实现的一个自定义无刷新分页,排序,支持多种数据源的控件TwfGridView
- GridView控件(二)——给字段标题加上排序状态
- 扩展GridView控件以包含一个与排序相关的箭头标记
- 自定义控件(HolyrongGridView)-扩展GridView控件(3):自定义排序
- 使用RedControls控件RadAjaxPanel、AjaxLoadingPanel实现GridView无刷新翻页和排序
- GridView控件在不使用数据源控件时,实现排序和分页
- 扩展ASP.NET 2.0内置GridView控件之一
- 扩展GridView控件(3) - 根据按钮的CommandName设置其客户端属性
- 扩展GridView控件(10) - 自定义分页样式
- 在GridView分页时,维护CheckBoxes控件的选择状态
- CList的扩展CGridListEx,可排序的grid表格控件
- 扩展GridView控件(一)——鼠标经过行时改变行的样式
- 【脚本共享】可以排序的Table控件,扩展较强。