ASPNET五大数据控件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据绑定控件比较(Reapter\DataList\GridView\DatailsView\FormView):

1. 插入功能方面:

DetailsView 和FormView 具有插入功能,其它控件没有

2. 模板

DataList\FormView\Repeater 三种必须编辑模板,而

GridView 和DetailsView 只有在将列转换成模板列以后才会出现各种模板.

3. 自动分页功能

GridView ,DetailsView 和FormView 都是 2.0 版本新增控件,内置了分页,排序等等功能其他需要手工定义

4. 数据呈现方式: GridView,DataList,Repeator 用于呈现多列数据, DetailsView,FormView 用于呈现单列数据,即常用的数据明细.

DataList 和Reapter 都需要编辑模板列,而在模板列当中可以添加TextBox ,同时可以指定TextBox 的ID 从而实现提取用户输入的值,但是DataGrid 和GridView 两个件是不需要编辑模板的,它的编辑功能是自动生成的我们无法知道那些文本框的ID ,也就无法通过ID 来获取用户的输入,那么可以通过对单元格的引用来实现: private void DataGrid1_UpdateCommand(object source,xx)

{

string bkid=DataGrid1.DataKeys[e.Item.ItemIndex].toString();// 提取主键

string bktitle=((TextBox)e.Item.Cells[1].Controls[0]).Text;// 提取用户的输入

}

一.进入编辑状态:

DataList1.EditItemIndex = e.Item.ItemIndex;

DataGrid1.EditItemIndex = e.Item.ItemIndex;

GridView1.EditIndex = e.NewEditIndex;

DetailsView1.ChangeMode(DetailsViewMode.Edit);// 进入编辑状态

DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);// 退出编辑状态

二.设置主键:

DataList1.DataKeyField = "bkid";

DataGrid1.DataKeyField = "bkid";

string[] str={"bkid"};

GridView1.DataKeyNames = str;

三.提取主键:

string bkid = DataList1.DataKeys[e.Item.ItemIndex].ToString();//DataList

string bkid = DataGrid1.DataKeys[e.Item.ItemIndex].ToString();//DataGrid

string bkid = GridView1.DataKeys[e.RowIndex].Value.ToString();//GridView

string bkid = DetailsView1.DataKey[0].ToString();

四.查找控件:

string bktitle = ((TextBox)e.Item.FindControl("txtTile")).Text;//DataList

string bktitle = ((TextBox)e.Item.Cells[1].Controls[0]).Text;//DataGrid

string bktitle = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;

string bktitle = ((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Text;

注意查找控件有两种方法:(各数据绑定控件的都可以用下面两种方法进行查找)

1.如果知道控件的ID 可以用这种方法((TextBox)e.Item.FindControl("txtTile")).Text;// 这是查找

2.如果不知道控件的ID 可用这种方法((TextBox)e.Item.Cells[1].Controls[0]).Text;// 这是索引

五.给删除按钮添加确认:

protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)

{

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType ListItemType.AlternatingItem)

{

LinkButton lbtn =(LinkButton) e.Item.FindControl("lbtndelete");

lbtn.Attributes.Add("OnClick","return confirm( ‘确定要删除吗?‘ )");

}

}

protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)

{

if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)

{

LinkButton lbtn = (LinkButton)e.Item.Cells[3].Controls[0];

lbtn.Attributes.Add("OnClick","return confirm( ‘确认删除?‘ )");

相关文档
最新文档