打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【原创】asp.net中数据显示控件浅谈
在asp.net中用来显示数据的控件有Repeater,DataList,DataGrid三种.     DataGrid的灵活性很强,内置了丰富的事件,提供分页,编辑,排序等一些特性,对表格的操作也是非常方便的,而且还有很多种的风格可选,由于自带了很多的功能和特性,所以开发速度很快,容易部署。但它的性能不是很高,每次的操作都会返回到服务器。主要用在对有排序、分页、编辑和多列的显示,而且对性能的要求不是很高,一般情况下数据源是一个DateSet。
DataList和DataGrid一样也有强大的模版特性,支持数据的编辑,性能比DataGrid好,不足之处在于开发周期相对与DataGrid较长,没有DataGrid中的编辑器,实现分页和排序比较困难。主要应用在单列的数据列表,高性能的自定义数据表。
Repeater是完全以HTML的方式呈现,更加自由灵活,性能是三种显示控件中最高的。但不支持编辑、分页、排序,几乎没有什么特性。开发周期是最长的。主要用在一些对性能和灵活性比较高的数据的显示。
在使用DataGrid时应该注意的一些问题
DataGrid控件有一个很重的属性AutoGenerateColumns,默认的时候该属性的值是true,当他为true的时候,会将绑定的表中所有的字段都显示出来,而我们在实际应用的时候往往只需要把我们想要的字段显示,这时候我们要将AutoGenerateColumns属性的值设置为false,可以自定义地选择显示那些列在控件上。如果我们设置成了自动生成列,就不要再再DataGrid中指定显示列,否则就会产生重复列。
在DataGrid中的非模版列找一个控件可以用datagriditem.Cells[第几个单元格].Controls[第几个控件] 这时候下标是从0开始的,但是在使用模版列时,Control的index必须都要加一,因为Control[0]是LiteralControl,值为空相当于一个空格。这时最好是采datagriditem.findcontrol["控件名称"]来获得。
当我们在DataGrid中添加了按钮列的删除时,我们要去判断要删除了数据项是否为最后一项,如果是最后一项,还应判断当前页是否为第一页,如果不是第一页,应该将当前的索引减1。在DataGrid中的deleteCommand事件中添加以下代码可以实现。
if(this.datagrid.items.count= =1)
{
if(this.DataGrid.CurrentPageIndex!=0)
{
This.DataGrid.CurrentPageIndex=this.DataGrid.CurrentPageIndex-1;
}
}
在删除一条记录时为了更人性化,应该在我们点击删除按钮时,会弹出一个对话框来让我们确定是否要删
除记录,在DataGrid控件的ItemDataBound事件中添加以下代码可以实现这个功能,并且是在客户端执行。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
DataReader与DataSet,DataGrid与DataList
为datagrid的自带分页添加首页、尾页及状态功能
Asp.Net技巧精萃
基于ASP.NET的自定义分页显示 数据库 分页
VS2005开发WAP网站初识
ASP.NET 控件开发速成教程:生成复合控件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服