显示数据表格(一种控件)自带了数据排序功能。在设计视图下,只能对显示数据表格(一种控件)的排序数据列和排序方向进行静态设置。在后台程序中,则需要用属性方式对显示数据表格(一种控件)的这两个属性进行动态设置
示例如下:前台
复制代码代码如下:% @ Page Language= c# AutoEventWireup= true CodeFile= Default。aspx。cs Inherits= _ Default %
!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www。w3。org/TR/XHTML 1/DTD/XHTML 1-过渡。 DTD
html xmlns= http://。w3。org/1999/XHTML head runat= server title无标题页/title/head body form ID= form 1 runat= server div ASP:GridView ID= GridView 1 runat= server autogenerate Columns= False 单元格填充= 4 ForeColor= # 333333 GridLines= None 允许排序= True on Sorting= GridView 1 _ Sorting 页脚样式back color= # 507 cd1 Font-Bold= True ForeColor= White /行样式back color
前台注意点:需要对显示数据表格(一种控件)启用允许排序,设置开机事件,对需要排序的列设定排序表达式属性。
后台
复制代码代码如下:使用系统;使用系统。数据;使用系统。配置;使用系统网页。使用系统。网络安全;使用系统Web . com。用户界面使用系统Web . com。UI。web控件使用系统web . com。ui。web控件。web部件;使用系统Web . com。UI。html控件
public partial class _ Default:System .网络。ui。Page { protected void Page _ Load(object sender,EventArgs e) { if(!IsPostBack) { //设定初始排序参数值
//错误的属性设置方法:排序表达式、排序方向均是显示数据表格(一种控件)只读属性,无法直接赋值。这个//这个GridView1。SortExpression= id//这个GridView1。排序方向= ASC
//正确的属性设置方法这个GridView 1。属性。add(排序表达式, id );这个GridView 1。属性。add(排序方向, ASC );
//绑定数据源到显示数据表格(一种控件)这个bingridview();} }
///summary ///GridView排序事件////汇总受保护的void GridView 1 _ Sorting(对象发送方,GridViewSortEventArgs e) { //从事件参数获取排序数据列字符串排序表达式=e .排序表达式。tostring();
//假定为排序方向为"顺序" string sortDirection= ASC
//"ASC "与事件参数获取到的排序方向进行比较,进行显示数据表格(一种控件)排序方向参数的修改if (sortExpression==this .GridView 1属性[排序表达式]){//获得下一次的排序状态sortDirection=(this .GridView 1属性[排序方向].ToString()==sortDirection?desc : ASC );}
//重新设定显示数据表格(一种控件)排序数据列及排序方向这个GridView 1。Attributes[排序表达式]=排序表达式;这个GridView 1。属性[排序方向]=排序方向;
这个bingridview();}
///摘要///绑定到GridView////摘要私有void bingridview(){//获取显示数据表格(一种控件)排序数据列及排序方向字符串sortExpression=this .GridView 1属性[排序表达式];字符串排序方向=this .GridView 1属性[排序方向];
//调用业务数据获取方法数据表dt bind=this。getdb();
//根据显示数据表格(一种控件)排序数据列及排序方向设置显示的默认数据视图如果((!字符串IsNullOrEmpty(sortExpression))(!字符串IsNullOrEmpty(排序方向))){ dt bind .Sort=string .格式(“{ 0 } { 1 }”,sortExpression,排序方向);}
//网格视图绑定并显示数据这个GridView1。DataSource=dtBind这个GridView 1。DataBind();}
///摘要///获取数据源的方法////摘要///返回数据源/returns private DataTable getDB(){ DataTable dt=new DataTable();
dt .列。add( id );dt .列。添加( name );dt .列。添加(年龄);
dt .行。Add(新对象[] { 000001 ,何奎, 26 });dt .行。Add(新对象[] { 000002 ,张羽, 26 });dt .行。Add(new object[] { 000003 ,竹昆殿, 27 });dt .行。Add(新对象[] { 000004 ,李阳, 25 });dt .行。Add(新对象[] { 000005 ,蔡丽, 27 });
返回dt;}}