利用 RADGrid 可以完成很多事情
但是有些小地方沒有注意
他可是理都不理您
RadGrid 中 有一個屬性稱為 DataKeyNames
若要 Server 端的應用程式抓到前端使用者選擇的列 (Row)
DataKeyNames 不設,系統永遠都是傳回空值
剛好自己有一個 Sample 可以 Work
原來是系統會去判斷是否有 PK
並決定 DataKeyNames 的組合
萬一沒有的話
鄉親啊
一定要自己設
因為自己被埋伏在這邊好久, 大概花了一個小時才解決這個問題.
另外 DataSource 與 DataSourceID 的差異
在於Dataset 排序時, 資料是否可以重送
還是選擇 DataSourceID 可以省點開發的時間
另外, 若不採用 DataSourceID 而是自己建立的 Datatable
要記得在 RadGrid.NeedDataSource event 對 source 物件補上對應的 DataSource
Ex:
protected void MYTABLE_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
// 從 Session 抓到的物件
DataTable t = (DataTable)Session["MYTABLE"];
// 補上對應的 DataSource
(source as RadGrid).DataSource = t;
}
在網路上找到你的文章, 畢竟用telerik又會中文的人真少啊..想問問這個needdatasource究竟有什麼大用處? 我看都是master table用self-reference再配上detail-table時才會試用呢..因為在這個情況下好像不能2個table都用sqldatasource/accessdatasource
回覆刪除NeedDataSource 表示資料異動時,系統先會判斷是否該 event 有對應的程式,若有則處理該段的 event code.
回覆刪除注意: 寫了 NeedDataSource 就不需要再 Call ReBind 或是 DataBind