**:
是的,在datagrid中,要實現這個功能,隱藏列來儲存鍵值是必須的,甚至是乙個初學者需要摸索才能知道的技巧。然而現在gridview是用來替代datagrid的,微軟所作的考慮更加周全。針對datagrid無法提供行主鍵的問題,它提供了兩個全新的屬性:datakeys和datakeynames!其sdk中的描述如下:
datakeynames:獲取或設定乙個陣列,該陣列包含了顯示在 gridview 控制項中的項的主鍵欄位的名稱。
datakeys:獲取乙個 datakey 物件集合,這些物件表示 gridview 控制項中的每一行的資料鍵值。
看到這裡,也許你會有所明白,針對批量選中操作的問題,我們有了新的方案,現在來看乙個簡單的實現,假設主鍵欄位是id:
//設定主鍵欄位名稱陣列,可以多個字段,
//你也可以在設計器中直接設定主鍵字段,多個欄位用逗號隔開
gridview1.datakeynames = new string ;
這樣,當進行資料繫結時,gridview會自動用鍵值填充datakeys集合,從而在繫結或者回傳後可以通過datakeys集合來獲取某一行的鍵值,例如假設想獲取第i行的id鍵值,其**如下:
//獲取第i行的id鍵值,注意該索引即行的索引,從header到footer都算在內
string id=gridviews1.datakeys[i]["id"].tostring();
//通過鍵值對資料進行處理......
由此可見,gridview提供了新的機制來繫結額外的資料到每一行。這使得可以完全放棄原來datagrid通過隱藏列來繫結鍵值的做法。
gridview中獲取主鍵的值
gridview中獲取主鍵的值 gridview1 rowcommand,gridview1 pageindexchanging,gridview1 rowdeleting.在 gridview1 rowcommand中獲取主鍵的值 protected void gridview1 rowcomma...
GridView各個事件中,怎樣獲取主鍵值
平時用gridview做資訊列表後台的時候,前面通常都加乙個序號列。此時就不能用資料庫裡的id號了,因為資料庫的刪除插入操作,導致那些號碼並不連貫,給人的感覺不是很好,所以這裡通常讓他自動編號。首先我們為 gridview 增加乙個新的空白列,如下 在 gridview rowdatabound 事...
GridView 資料異動前的字段檢查
摘要 一般執行新增 修改完畢準備異動資料庫前,通常會做一層資料正確性檢查的動作 當我們使用 gridview 繫結 sqldatasoruce 來呈現資料,若 gridview 進行資料編輯存檔前也要做字段值的檢查應該在如何做呢應該在那個控制項的那個事件去處理這個檢查動作呢 程式說明及實作 首先在頁...