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

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 perky_zhou 的 blog

 第六节:按列排序

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

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

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

首先,我要给它增加一个参数,用于告诉程序,应该按照哪个列来排序,我的函数编程了bindgridstring 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)

{

本文关键:感受DataGrid给数据操作带来的便利(6)
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top