DataGrid控件是数据使用的过程中比较常用也比较重要的一个数据控件,这里想重点探讨一下怎么用它来实现各种数据显示的任务。
1.在绑定的数据列的最前方添加序号
首先定义一个数据绑定列BoundField设置HeaderText,编写DataGrid控件的ItemDataBound事件的代码
cells[0]代表的是第一列的单元格;
2.在单独的一列中显示统计值
首先定义个全局变量,将各列的值累加到该变量,然后判断最后一列是否是页脚,若是则添加显示;
3.实现数据的分行变色
比如男士的数据行我们想让他的背景色是蓝色,女士的是粉红的话,我们值需要判断是Mr还是Ms,满足相应的条件后可以设置背景色;在ItemDataBound时间中应用e.Item.Backcolor=?来进行设置;
4.鼠标移动到某行的时候改变该行的背景色
该命令需要结合js的相关知识;添加的方法是在DataList的Attributes属性中添加相应的js命令;DataList中存在onmouseover和onmouseout事件(具体的说是基本每个控件都有这个)可以用js进行响应; 具体效果:
5.在DataGrid里实现分页
DataGrid存在两个属性,一个是allowpaging用来设置当前控件是否允许分页;另一个是CurrentPageIndex用来获取和设置当前页的索引;显示当前页数及所有页数函数:
我们可以使用LinkButton实现页面的跳转,像定义四个LinkButton,设置commandArgument属性分别为next,last,prev,top。将它们的单击事件的处理程序设置为LinkButton_click
6.在DataGrid中自定义分页操作
一般情况下,DataGrid每次实现分页时都会从数据库读取一次数据,当数据很多时,这样会明显降低应用程序的性能DataGrid的AllowCustomPaging用来设置是否允许自定义分页操作,VirtualItemCount设置自定义时的总共实际项数,注意,若是设置了DataGrid的AllowCustomPaging为true就必须编写相应的事件处理函数,否则数据将停留在第一页;核心代码如图示
7.在DataGrid中弹出一个详细信息窗口
其实详细信息的窗口本质上是一个简单的web页;具体的实现思路是将一个绑定列设置为HyperLinkColumn,设置对应的DataNavigateUrlField(该属性指向发生跳转时DataNavigateUrlFormatString中占位符的值) 及DataNavigateUrlFormatString(该属性指示跳转时的url的形式)DataTextField ="LastName",指定的是绑定的数据列的值,无此数据列将抛出异常;
在DataNavigateUrlFormatString指定了在单击该超链接列是将弹出detail.aspx对应ID的IE窗口window.close()方法将直接关闭原始的网页;在detail.aspx中要对传入的ID值进行解析,然后查询数据库填充表单,最后显示;