对 DataGrid 进行排序

首先我们将从一个示范开始,在这个示范中我将使用一个按钮点击事件排序表格中的数据。然后介绍的是一组属性——HyperlinkColumn、BottonColumn 和 BoundColumn,使用这些属性可以为 DataGrid 添加一些有趣的自定义功能。

下面我们首先从上一次结束的地方——清单A开始。下面是清单A中代码的输出。


DataGrid 的输出

要注意的第一个变化是表头中的列名现在是可点击的。自己运行一下这个示例,你会发现在点击每个字段时,数据会自动排序。

现在我们看一下引发这个变化的代码。首先我将介绍 strSortBy 变量,这个变量用于存储排序参数的名字。Page_Load() 函数也已有改动:当页面第一次被装载时,id字段被选作默认的排序参数。

下面创建 DataView 对象的一个实例,用于在运行时期改变排列顺序。只要把这个属性设置为要排序的列,DataView 就会替我们完成排序工作。

最后,使用 DataGird 控件的一些新属性将这些东西粘合到一起。AllowSorting激活排序,而 OnSortCommand属性指定在接收到一个排序请求时需要调用的事件处理器。第二个属性已经设置为dgsuperheroes_Sort(),这个函数将在我们点击头部的字段名时由 .NET 编译器自动调用。在这个函数中,SortExpression属性保存被选作排序参数的字段名,然后根据这个字段重新绑定 DataGrid,从而实现排序。

你可能感兴趣的:(datagrid)