分享
 
 
 

感受DataGrid给数据操作带来的便利(6)

王朝c#·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

第六节:按列排序

我们在使用数据时,常常要对数据进行排序,那么在这方面DataGrid为我们提供了什么呢?是不是像其他功能那样很轻松就可以实现呢?我刚刚体验了一下,答案是:真的很简单。

首先,我要设置DataGrid的属性,允许它排序,属性名称是:AllowSorting,默认是False,我们设置为True,这个时候,如果你编译运行的话,你就会发现每一列的标题都加上了超链接。不过,这个时候,你点击这些标题并没有什么反应,这是因为,你还没有为这些事件编写代码。我们到属性窗口创建事件OnSortCommand()——单击列标题排序时候发生的事件。

你可以直接在这个函数中编写用于DataGrid重新绑定数据的代码,我呢,这里还是想改造一下我前面一直在用的函数BindGrid()。

首先,我要给它增加一个参数,用于告诉程序,应该按照哪个列来排序,我的函数编程了BindGrid(string sortField)

然后呢,我要增加一个DataView来对数据进行排序。我们来看详细的代码,注意,改动的部分,我用红色标出来:

public void BindGrid(string strSortField)

{

string selectCmd="select 流水号 as id,姓名 as name,公司 as Company from sheet1$";

SqlDataAdapter mycomm=new SqlDataAdapter(selectCmd,cn);

DataSet ds=new DataSet();

mycomm.Fill(ds,"sheet1$");

DataView Source=ds.Tables["Sheet1$"].DefaultView;

Source.Sort=strSortField;

DataGrid1.DataSource=Source;///ds.Tables["sheet1$"].DefaultView;//原来是直接把Ds的数据给DataSource

DataGrid1.DataBind();

}

我们在OnSrotCommand事件中应用这个函数:

private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)

{

//参数e用于传递列名

BindGrid(e.SortExpression);

}

如果我们要按倒序或者按顺序排序,我们可以加上“ ASC” 或“ DESC”,如:

private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)

{

//参数e用于传递列名

BindGrid(e.SortExpression+" DESC");

}

我们经常会有这样的需求,单击一下列标题,顺序排序,再单击一下列标题,逆序排序,下列代码来完成这样的事情:

private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)

{

DataGrid1.CurrentPageIndex=0;

if(Label1.Text=="1")//在web程序中,我喜欢用控件来保存全局变量

{

BindGrid(e.SortExpression+" DESC");

Label1.Text="0";

}

else

{

BindGrid(e.SortExpression+" ASC");

Label1.Text="1";

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有