GridView自带分页功能,效率不高,适用于小数据量的显示。
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; Bind(); }
CommandName为Update触发更新事件RowUpdating和RowUpdated事件,要在此事件中设置EditIndex;CommandName为Cancel触发点编辑后的取消事件RowCancelingEdit事件,要在此事件中设置EditIndex=-1;CommandName为Delete触发删除事件RowDeleting和RowDeleted事件。如果使用手动绑定的方法,更新和删除的操作要写在其触发的ing事件内。
如果启用了自动分页功能,AllowPaging=true,当点击上一页和下一页时,触发PageIndexChanging事件,要在此事件中设置PageIndex。
GridView用数据源控件绑定数据时,执行删除操作时,要添加DataKeyNames。执行更新时,控件updating>数据源updating>处理更新>数据源updated>控件updated。可以根据ed事件中e.Exception属性,来判断是否在更新和删除的过程中有错误产生。
DataList:一般只用于展示数据,他只能通过设置模板来实现数据绑定。DataList不支持排序和分页功能。
DetailsView:一般用于展示一条数据,同时也可以实现更新和插入操作。经常用于主细表当中。
各数据源控件之间的比较:
效率:GridView<DataList<Reapter
GridView一般用于以网格(表的)形式显示数据。
DataList用于以Html自定义(模板)来显示数据
Reapter数据绑定后不产生任何模板中没有的代码,所以常用于div+Css的网页布局或绑定生成xml文件