隱藏Telerik Grid之更新按鈕

使用Telerik Grid for MVC除非有極特殊需求,一般還是建議採官方提供的用法,不然前後端有時候都要自己多做工還蠻麻煩的XD

Grid在資料編輯方面有Insert、Update、Delete、BatchEditing
最近做的專案需要Insert & Delete(本文不討論Batch)但又不允許使用者Update,可是Update按鈕和Insert按鈕是同一個!!!  請看下列連環圖說明

預設編輯畫面(可以Insert、Update、Delete)
上方的"Add new record"按鈕可插入一筆新資料,右側的"Commands"欄位有"Edit"和"Delete"按鈕,但Edit按鈕身兼二職~請續看連環圖
圖一

click圖一的Edit按鈕後,該列資料會開啟編輯狀態(例如label變成可輸入的input),本來的Edit按鈕也因編輯狀態而變成"Update"按鈕
圖二

click圖一的Add new record按鈕後,會新增一筆空白資料列,本來的Edit按鈕因新增變成"Insert"按鈕
圖三

簡單來說,就是我不希望有圖二的狀態出現,但又想使用Telerik提供的event去完成Insert & Delete。最快(偷懶)的方式就是把圖一Edit按鈕隱藏,實作方式如下

1.在Grid加入ClientEvent
.ClientEvents(c => c.OnDataBound("Grid_OnDataBound"))

2.撰寫Grid_OnDataBound事件
function Grid_OnDataBound(e) {
$("a:contains('Edit')").hide();
}

此寫法只會將< a>中有Edit的部分隱藏,不影響Add new record要用的Insert按鈕,請安心使用 0.<

沒有留言: