正在使用Jqgrid MultiSelect
選項。動態添加和刪除JqGrid屬性
它工作完美。是否可以動態設置該屬性?
例如:我點擊一個按鈕,然後應該啓用多Select屬性,直到不應該顯示給用戶。
我該如何在JqGrid中實現?
感謝
正在使用Jqgrid MultiSelect
選項。動態添加和刪除JqGrid屬性
它工作完美。是否可以動態設置該屬性?
例如:我點擊一個按鈕,然後應該啓用多Select屬性,直到不應該顯示給用戶。
我該如何在JqGrid中實現?
感謝
您可以使用這段代碼:如果你想隱藏的每一行的所有複選框
var myGrid = $("#grid_name");
$("#cb_"+myGrid[0].id).hide();
,並顯示它
var myGrid = $("#grid_name");
$("#cb_"+myGrid[0].id).show();
:
$("input[name^='jqg_']").each(function() {
$(this).hide();
});
並顯示它:
$("input[name^='jqg_']").each(function() {
$(this).show();
});
我已經爲你準備了fiddle。
希望它有幫助。
jqGrid不支持動態創建列。因此,如果不重新創建網格,則無法切換multiselect: true
選項(請參閱the answer)。
如果您準備進行實驗,您可以按照我的the answer的建議進行操作,這些建議描述瞭如何在某些限制條件下實現該功能。
已更新:我以前的回答是舊的。如果您使用jQuery版本1.8或更高版本,則必須將行events = $grid.data("events");
更改爲events = $._data($grid[0], "events");
以將子類reloadGrid
事件更改。請參閱固定演示here。
是的,你可以像這樣
if(true)
$("#GridID").jqGrid('setGridParam',{multiselect:true});
else
$("#GridID").jqGrid('setGridParam',{multiselect:false});
我的問題是AB整個複選框列不僅頁眉部分!感謝您的小提琴 – user2067567
@ user2067567:更新了答案。 – LeftyX
@LeftyX:隱藏chechboxes不會改變jqGrid的多重選擇行爲。如果你點擊一行,然後再點擊另一行,你仍然會有多重選擇行爲。您必須將jqGrid的'multiselect'選項的值更改爲具有單選樣式。如果你點擊導航欄的「Reload Grid」按鈕,對列進行排序或者改變頁碼(點擊下一頁),你會看到最初的'multiselect:true'網格。所以人們必須做更多一點。 – Oleg