【原创】asp.net中数据显示控件浅谈
来源:百度文库 编辑:神马文学网 时间:2024/04/29 08:29:39
在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事件中添加以下代码可以实现这个功能,并且是在客户端执行。
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事件中添加以下代码可以实现这个功能,并且是在客户端执行。
【原创】asp.net中数据显示控件浅谈
一步一步学会在ASP.NET 4数据绑定控件中启用动态数据(翻译) - longgel -...
ASP.NET中TreeView控件使用小结
ASP.NET中自己写JS验证控件和提交(原创)
ASP.NET 4启用动态数据来绑定数据控件 - 学IT网 xueit.com
ASP.NET验证控件详解
ASP.NET 2.0 的数据源、数据绑定控件概述与区别
ASP.NET 2.0中数据绑定方法—Asp.Net开发技巧
ASP.NET 2.0中实现模板中的数据绑定
ASP.NET 2.0中实现模板中的数据绑定
ASP.NET验证控件客户端验证成功或失败之后执行js脚本(原创)
ASP.NET验证控件客户端验证成功或失败之后执行js脚本(原创) - Qzone日志
ASP.NET上传控件V1.0 beta2
ASP.NET与JavaScript操作CheckBox控件
asp.net控件开发基础(2)
asp.net控件开发基础(3)
asp.net控件开发基础(4)
asp.net控件开发基础(15) 总结
asp.net 2.0教程 登录系列控件
ASP.NET 服务器控件的验证
ASP.NET六种验证控件
ASP分页显示Recordset数据
Asp.Net开发]从"在 Internet Explorer 中使用 Windows 窗体控件"开始谈Smart Client
ASP.NET 2.0服务器控件开发之控件样式