首先我们将从一个示范开始,在这个示范中我将使用一个按钮点击事件排序表格中的数据。然后介绍的是一组属性――hyperlinkcolumn、bottoncolumn 和 boundcolumn,使用这些属性可以为 datagrid 添加一些有趣的自定义功能。
下面我们首先从上一次结束的地方――清单a开始。下面是清单a中代码的输出。
datagrid 的输出
要注意的第一个变化是表头中的列名现在是可点击的。自己运行一下这个示例,你会发现在点击每个字段时,数据会自动排序。
现在我们看一下引发这个变化的代码。首先我将介绍 strsortby 变量,这个变量用于存储排序参数的名字。page_load() 函数也已有改动:当页面第一次被装载时,id字段被选作默认的排序参数。
下面创建 dataview 对象的一个实例,用于在运行时期改变排列顺序。只要把这个属性设置为要排序的列,dataview 就会替我们完成排序工作。
最后,使用 datagird 控件的一些新属性将这些东西粘合到一起。allowsorting激活排序,而 onsortcommand属性指定在接收到一个排序请求时需要调用的事件处理器。第二个属性已经设置为dgsuperheroes_sort(),这个函数将在我们点击头部的字段名时由 .net 编译器自动调用。在这个函数中,sortexpression属性保存被选作排序参数的字段名,然后根据这个字段重新绑定 datagrid,从而实现排序。