我正在使用setColProp動態地將值加載到select
編輯類型中。jqgrid setColProp不工作
我的價值觀成功加載每當我打電話:
loadComplete: function() {
$("#profile_table").setColProp('contract_num', { editoptions: { value: contract_list} });
},
但是它只能在這裏,只有一次。如果我改變的contract_list
價值,並嘗試通過調用
$("#profile_table").setColProp('contract_num', { editoptions: { value: contract_list} });
再次從任何地方
(從單擊按鈕,從afterSubmit,甚至重裝表)來更新的jqGrid它什麼都沒有。
有什麼我做錯了嗎?
編輯: 下面是我想要做的更好的解釋。
我有一個jqGrid表ID爲#profile_table
。
這是jqGrid的代碼colModel
的一部分:
colModel:[
{name:'contract_num',index:'contract_num', editable: true, hidden: false, width:30, edittype: "select", editrules: {required: true}},
]
最初在編輯contract_num
編輯字段/添加的形式在其select
框中沒有值。我從表格創建之前創建的名爲contract_list
的javascript變量加載初始值。我最初加載這些值使用:
loadComplete: function() {
$("#profile_table").setColProp('contract_num', { editoptions: { value: contract_list} });
},
這工作得很好,但它是可能的,只要用戶更改該表顯示在頁面上別的東西contract_list
值會發生變化。所以我正在嘗試動態更新select
框中的contract_num
字段內的選項,該字段位於此表的編輯/添加表單內。我成功更改了contract_list
中的值,但無法將實際的select
框更新爲新值。
我試圖通過調用來更新它:
$("#profile_table").setColProp('contract_num', { editoptions: { value: contract_list} });
,然後重裝每當有人改變了值contract_list
電網,但該表沒有被更新。
它,你描述是非常重要的該問題更詳細。如何使用editoptions.value?例如,如果在*編輯模式下有幾行*選擇不會自動過期,但下一行將開始編輯將使用新的設置。如果您使用'formatter:'select''和'editoptions.value',您必須重新加載grig以將更改應用到網格主體中。你能包含更完整的代碼示例嗎? – Oleg 2012-04-09 09:05:58
我增加了更多的代碼和更好的解釋,我希望你現在能夠理解我的問題,謝謝 – Sandoichi 2012-04-09 22:19:26
對不起,但更新的部分不清除任何東西。你寫道:「我無法得到實際的選擇框更新爲新的值」。什麼是「實際選擇框」。只有在編輯**某個單元格或行時,選擇才存在**(我仍然不知道您使用哪種編輯模式)。爲什麼在'setColProp'之後重新加載網格?目前你在編輯模式下有一排嗎?如果答案是「沒有行」,你不需要做任何重新加載。爲什麼你在'loadComplete'中放置'setColProp'?我不知道是誰更改'contract_list',當你這樣做,你是如何做到這一點的。你是否在某個事件處理程序中這樣做? – Oleg 2012-04-10 10:05:12