ASPNET五大数据控件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ASPNET 五大数据控件
1. 插入功能方面:
DetailsView 和FormView 具有插入功能,其它控件没有
2. 模板DataList\FormView\Repeater 三种必须编辑模板,而GridView 和DetailsView 只有在将列转换成模板列以后才会显现各种模板.
3. 自动分页功能
GridView ,DetailsView 和FormView 差不多上2.0 版本新增控件,内置了分页,排序等等功能,
其他需要手工定义
4. 数据出现方式: GridView,DataList,Repeator 用于出现多列数据,
DetailsView,FormView 用于出现单列数据,即常用的数据明细.
DataList和Reapter都需要编辑模板列,而在模板列当中能够添加Text Box,同时能够指定TextBox的ID从而实现提取用户输入的值,然而Data Grid 和GridView 两个件是不需要编辑模板的,它的编辑功能是自动生成的我们无法明白那些文本框的ID ,也就无法通过ID 来猎取用户的输入,那么能够通过对单元格的引用来实现:
private void DataGrid1_UpdateCommand(object source,xx)
{
stri ng bkid二DataGrid1.DataKeys[e.ltem」teml ndex].toStri ng();〃提取主键
string bktitle=((TextBox)e.ltem.Cells[1].Controls[0]).Text;// 提取用户的输入
}
一. 进入编辑状态:
DataList1.EditItemIndex = e.Item.ItemIndex;
DataGrid1.EditItemIndex = e.Item.ItemIndex;
GridView1.EditIndex = e.NewEditIndex;
DetailsViewl.Cha ngeMode(DetailsViewMode.Edit);// 进入编辑状态
DetailsViewl.Cha ngeMode(DetailsViewMode.Read On ly);//退出编辑状态
二. 设置主键:
DataList1.DataKeyField = "bkid";
DataGrid1.DataKeyField = "bkid";
string[] str={"bkid"};
GridView1.DataKeyNames = str;
三. 提取主键:
string bkid = DataList1.DataKeys[e.Item.ItemIndex].ToString();//DataLis t string bkid = DataGrid1.DataKeys[e.Item.ItemIndex].ToString();//DataGr id string bkid = GridView1.DataKeys[e.RowIndex].Value.ToString();//Grid View
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].Contro
ls[0]).Text;
string bktitle = ((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Te xt;
注意查找控件有两种方法:(各数据绑定控件的都能够用下面两种方法进行查找)
1.如果明白控件的ID 能够用这种方法
((TextBox)e.Item.FindControl("txtTile")).Text;// 这是查找2.如果不明白控件的ID 可用这种方法((TextBox)e.Item.Cells[1].Controls[0]).Text;// 这是索引
五.给删除按钮添加确认:
protected void DataList1_ItemDataBound(object sender, DataListItemEv entArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType
== ListItemType.AlternatingItem)
{
LinkButton lbtn =(LinkButton) e.Item.FindControl("lbtn delete");
Ibt n. Attributes.Add("O nClick","retur n con firm‘ 确定要删除吗?‘ )");
protected void DataGrid1_ItemDataBound(object sender, DataGridItemE
}
}
}
}
ventArgs e)
{ if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==L
istItemType.AlternatingItem)
{
LinkButton lbtn = (LinkButton)e.Item.Cells[3].Controls
[0];
lbtn.Attributes.Add("OnClick","return confirm( ‘确认删
除?‘ )");
}
}
GridView1_RowDataBound(object sender, GridViewRow EventArgs e)
{
if(e.Row.RowType== DataControlRowType.DataRow) {
stri ng strid = e.R ow.Cells[0].Text;〃猎取第一行的字段
值;
e.Row.Cells[3].Attributes.Add("OnClick", "return confir
m ( ‘确认删除 \""+strid+"\" ?‘)");
//用了两个转义符将第一列的值用引号括起来 ,注意转义
符后面一个将不被讲明,是直截了当放上去 ;
protected void