gridview自动排序示例分享
示例如下:前台
<%@PageLanguage="C#"AutoEventWireup="true" CodeFile="Default.aspx.cs"Inherits="_Default"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>无标题页</title>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"CellPadding="4"ForeColor="#333333"GridLines="None"AllowSorting="True"OnSorting="GridView1_Sorting">
<FooterStyleBackColor="#507CD1"Font-Bold="True"ForeColor="White"/>
<RowStyleBackColor="#EFF3FB"/>
<Columns>
<asp:BoundFieldDataField="id"HeaderText="ID"SortExpression="id"/>
<asp:BoundFieldDataField="name"HeaderText="NAME"SortExpression="name"/>
<asp:BoundFieldDataField="age"HeaderText="AGE"SortExpression="age"/>
</Columns>
<PagerStyleBackColor="#2461BF"ForeColor="White"HorizontalAlign="Center"/>
<SelectedRowStyleBackColor="#D1DDF1"Font-Bold="True"ForeColor="#333333"/>
<HeaderStyleBackColor="#507CD1"Font-Bold="True"ForeColor="White"/>
<EditRowStyleBackColor="#2461BF"/>
<AlternatingRowStyleBackColor="White"/>
</asp:GridView>
</div>
</form>
</body>
</html>
前台注意点:
需要对GridView启用AllowSorting、设置OnSorting事件,对需要排序的列设定SortExpression属性。
后台
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
publicpartialclass_Default:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!IsPostBack)
{
//设定初始排序参数值
//错误的属性设置方法:SortExpression、SortDirection均是GridView只读属性,无法直接赋值。
//this.GridView1.SortExpression="id";
//this.GridView1.SortDirection="ASC";
//正确的属性设置方法
this.GridView1.Attributes.Add("SortExpression","id");
this.GridView1.Attributes.Add("SortDirection","ASC");
//绑定数据源到GridView
this.BindGridView();
}
}
///<summary>
///GridView排序事件
///</summary>
protectedvoidGridView1_Sorting(objectsender,GridViewSortEventArgse)
{
//从事件参数获取排序数据列
stringsortExpression=e.SortExpression.ToString();
//假定为排序方向为“顺序”
stringsortDirection="ASC";
//“ASC”与事件参数获取到的排序方向进行比较,进行GridView排序方向参数的修改
if(sortExpression==this.GridView1.Attributes["SortExpression"])
{
//获得下一次的排序状态
sortDirection=(this.GridView1.Attributes["SortDirection"].ToString()==sortDirection?"DESC":"ASC");
}
//重新设定GridView排序数据列及排序方向
this.GridView1.Attributes["SortExpression"]=sortExpression;
this.GridView1.Attributes["SortDirection"]=sortDirection;
this.BindGridView();
}
///<summary>
///绑定到GridView
///</summary>
privatevoidBindGridView()
{
//获取GridView排序数据列及排序方向
stringsortExpression=this.GridView1.Attributes["SortExpression"];
stringsortDirection=this.GridView1.Attributes["SortDirection"];
//调用业务数据获取方法
DataTabledtBind=this.getDB();
//根据GridView排序数据列及排序方向设置显示的默认数据视图
if((!string.IsNullOrEmpty(sortExpression))&&(!string.IsNullOrEmpty(sortDirection)))
{
dtBind.DefaultView.Sort=string.Format("{0}{1}",sortExpression,sortDirection);
}
//GridView绑定并显示数据
this.GridView1.DataSource=dtBind;
this.GridView1.DataBind();
}
///<summary>
///获取数据源的方法
///</summary>
///<returns>数据源</returns>
privateDataTablegetDB()
{
DataTabledt=newDataTable();
dt.Columns.Add("id");
dt.Columns.Add("name");
dt.Columns.Add("age");
dt.Rows.Add(newobject[]{"000001","hekui","26"});
dt.Rows.Add(newobject[]{"000002","zhangyu","26"});
dt.Rows.Add(newobject[]{"000003","zhukundian","27"});
dt.Rows.Add(newobject[]{"000004","liyang","25"});
dt.Rows.Add(newobject[]{"000005","caili","27"});
returndt;
}
}
相关文章
- vector自动排序_vector容器排序
- TAPD新增需求自动通知飞书
- jQuery 自动补全详解编程语言
- Linux VIM python 自动补全插件:pydiction详解编程语言
- 自动任务定时器驱动下的Oracle自动任务(oracle定时器执行)
- 自动管理Linux SVN进程自动化管理实战(linuxsvn进程)
- “自动填充”功能可能已经泄露了个人信息
- Oracle自动排序:实现数据更有效率的管理(oracle自动排序)
- Oracle自动排序:实现简单高效的数据组织(oracle自动排序)
- Oracle自动排序:让办公效率更加高效(oracle自动排序)
- Oracle自动排序:提升效率、提高效果(oracle自动排序)
- Oracle数据库自动排序功能实现(oracle自动排序)
- Oracle自动排序:简单、卓越、快速(oracle自动排序)
- Oracle自动排序:简单易用的数据排列方式(oracle自动排序)
- Oracle自动排序:轻松实现高效排序(oracle自动排序)
- Oracle自动排序:优化你的数据管理(oracle自动排序)
- Oracle自动排序:让数据更有序(oracle自动排序)
- 实现txt文件的自动导入MySQL(txt导入mysql)
- 「FDA常客」Aidoc与Imbio合作,对疑似肺栓塞进行优先排序,并自动计算RV/LV比值
- autocomplete禁止自动完成功能
- SQLServer不删除信息重新恢复自动编号列的序号的方法
- JavaScript生成随机数并自动大小排序
- mysql常用设置字符集编码、自动完成(自动提示)、监听外网ip
- Java自动解压文件实例代码