ASPNET數據控件之數據綁定控件比較(Reapter\DataList\GridView\DatailsView\FormView)都有哪些方面呢?讓我們開始講解
ASPNET數據控件之數據綁定控件比較插入功能方面:
DetailsView和FormView具有插入功能其它控件沒有
ASPNET數據控件之數據綁定控件比較模板
DataList\FormView\Repeater三種必須編輯模板而
GridView和DetailsView只有在將列轉換成模板列以後才會出現各種模板
ASPNET數據控件之數據綁定控件比較自動分頁功能
GridView DetailsView和FormView都是版本新增控件內置了分頁排序等等功能
其他需要手工定義
ASPNET數據控件之數據綁定控件比較數據呈現方式:
GridViewDataListRepeator用於呈現多列數據
DetailsViewFormView用於呈現單列數據即常用的數據明細
DataList和Reapter都需要編輯模板列而在模板列當中可以添加TextBox同時可以指定TextBox的ID從而實現提取用戶輸入的值但是DataGrid和GridView兩個件是不需要編輯模板的它的編輯功能是自動生成的我們無法知道那些文本框的ID也就無法通過ID來獲取用戶的輸入那麼可以通過對單元格的引用來實現:
private void DataGrid_UpdateCommand(object sourcexx)
{
string bkid=DataGridDataKeys[eItemItemIndex]toString();//提取主鍵
string bktitle=((TextBox)eItemCells[]Controls[])Text;//提取用戶的輸入
}
ASPNET數據綁定控件實際區別一進入編輯狀態
DataListEditItemIndex = eItemItemIndex;
DataGridEditItemIndex = eItemItemIndex;
GridViewEditIndex = eNewEditIndex;
DetailsViewChangeMode(DetailsViewModeEdit);//進入編輯狀態
DetailsViewChangeMode(DetailsViewModeReadOnly);//退出編輯狀態
ASPNET數據綁定控件實際區別二設置主鍵:
DataListDataKeyField = bkid;
DataGridDataKeyField = bkid;
string[] str={bkid};
GridViewDataKeyNames = str;
ASPNET數據綁定控件實際區別三提取主鍵
string bkid = DataListDataKeys[eItemItemIndex]ToString();//DataList
string bkid = DataGridDataKeys[eItemItemIndex]ToString();//DataGrid
string bkid = GridViewDataKeys[eRowIndex]ValueToString();//GridView
string bkid = DetailsViewDataKey[]ToString();
ASPNET數據綁定控件實際區別四查找控件
string bktitle = ((TextBox)eItemFindControl(txtTile))Text;//DataList
string bktitle = ((TextBox)eItemCells[]Controls[])Text;//DataGrid
string bktitle = ((TextBox)GridViewRows[eRowIndex]Cells[]Controls[])Text;
string bktitle = ((TextBox)DetailsViewRows[]Cells[]Controls[])Text;
注意查找控件有兩種方法
(各數據綁定控件的都可以用下面兩種方法進行查找)
如果知道控件的ID可以用這種方法
((TextBox)eItemFindControl(txtTile))Text;//這是查找
如果不知道控件的ID可用這種方法
((TextBox)eItemCells[]Controls[])Text;//這是索引
ASPNET數據綁定控件實際區別五給刪除按鈕添加確認:
protected void DataList_ItemDataBound(object sender DataListItemEventArgs e)
{
if (eItemItemType == ListItemTypeItem || eItemItemType == ListItemTypeAlternatingItem)
{
LinkButton lbtn =(LinkButton) eItemFindControl(lbtndelete);
lbtnAttributesAdd(OnClickreturn confirm(確定要刪除嗎?));
}
}
protected void DataGrid_ItemDataBound(object sender DataGridItemEventArgs e)
{
if(eItemItemType==ListItemTypeItem || eItemItemType==ListItemTypeAlternatingItem)
{
LinkButton lbtn = (LinkButton)eItemCells[]Controls[];
lbtnAttributesAdd(OnClickreturn confirm(確認刪除?));
}
}
protected void GridView_RowDataBound(object sender GridViewRowEventArgs e)
{
if(eRowRowType== DataControlRowTypeDataRow)
{
string strid = eRowCells[]Text;//獲取第一行的字段值;
eRowCells[]AttributesAdd(OnClick return confirm(確認刪除\+strid+\?));
//用了兩個轉義符將第一列的值用引號括起來注意轉義符後面一個將不被解釋是直接放上去;
}
}
ASPNET數據綁定控件比較的基本情況就向你介紹到這裡希望對你理解ASPNET數據綁定控件比較有所幫助
From:http://tw.wingwit.com/Article/program/net/201311/13361.html