asp.net中显示控件浅析
来源:互联网 发布:被帅哥撩体验知乎 编辑:程序博客网 时间:2024/06/10 05:51
在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事件中添加以下代码可以实现这个功能,并且是在客户端执行。
Switch(e.Item.ItemType)
{
Case ListItemType.Item;
Case ListIetmType.EditItem;
Case ListItemType.AlternatingItem;
LinkButton lb=(LinkButton)e.Item.Cells[].Controls[0];
Lb.Attributs.Add(“onclick”,”return confirm(‘确定删除这条记录吗?’)”);
Break;
}
上面的代码倒数第二行中的return很重要,一定不能去掉了,否则当弹出对话框后,不管你点的是“确定”还是“取消”都会删除选中记录。
- asp.net中显示控件浅析
- Asp.Net验证控件浅析
- 浅析五大ASP.NET数据控件
- ASP.NET服务器控件之生命周期浅析
- 浅析五大ASP.NET数据控件
- ASP.NET服务器控件之生命周期浅析
- 浅析五大ASP.NET数据控件
- ASP.NET自定义控件属性浅析
- Asp.Net 分页显示控件
- Asp.Net 分页显示控件
- ASP.NET数据显示控件
- Asp.Net 分页显示控件
- Asp.Net 分页显示控件
- ASP.NET中控件的隐藏与显示
- asp.net 显示图片到指定的Image控件中
- ASP.NET - 演练:在 TreeView 控件中显示分层数据
- asp.net显示图片到指定的Image控件中
- ASP.Net 的按钮事件中显示ASPxPopupControl,控件显示不出来
- GSM/UMTS
- the processes initialization failure after update the KIS
- 給c++primer中一个简单例程的注释
- asp.net中的一个小的性能测试
- MSN不能登錄的解決方法
- asp.net中显示控件浅析
- Linux与Windows在十三方面大对决
- 书买到了,颇费周折
- _01可行性研究报告(GB8567——88)
- TabStrip和MultiPage的安装和使用
- 02项目开发计划(GB856T——88)
- 03软件需求说明书
- Work Is A Warm Gun
- 04概要设计说明书(GB8567——88)