[英]jQgrid : Disable inline Save and Esc Handler while editing grid Row?
我正在開發一個使用jQgrid生成表數據的asp.net MVC 4項目。在生成的網格中,我為行中的特定列提供了內聯編輯選項。
我的問題就像在編輯特定行時,如果按Enter
或Esc
鍵,我選擇的行將退出編輯模式。
我想禁用這些事件Enter和Esc。
我用谷歌搜索了這個問題,並得到了一些有趣的帖子如何在編輯時在Jqgrid上禁用Save Handler
在上面的參考文章中,我可以看到Jqgrid.src.js
文件中的某些行被注釋掉了,我認為這不是最好的解決方案。
還有其他方法可以讓我在進行內聯編輯時同時禁用Jqgrid中的Enter
和Esc
Event。
Javascript代碼
jQuery("#Grid").jqGrid({
url: baseUrl + '/api/Controller/method',
datatype: "json",
mtype: "POST",
colNames: ['Col1', 'Col2', 'Col3', 'Col4', 'Col5'],
colModel: [
{ name: 'col1', index: 'col1', align: 'center', editable: true, key:true },
{ name: 'col2', index: 'col2', align: 'center' },
{ name: 'col3', index: 'col3', align: 'center', editable: true, key:true },
{ name: 'col4', index: 'col4', align: 'center' },
{ name: 'col5', index: 'col5', align: 'center', editable: true, key:true }
],
jsonReader: {
root: 'data',
id: 'col2',
repeatitems: false
},
pager: $('#Pager'),
rowNum: 10,
rowList: [10, 25, 50, 100],
autowidth: true,
shrinkToFit: false,
viewrecords: true,
loadonce: true,
autoencode: true,
multiselect: true,
height: '100%',
width: '100%',
caption: "Record"
});
樣本網格結構
注意:顯示的網格圖像不是使用以上代碼生成的實際網格。
在上面的網格中,有些列是可編輯的。我的情況就像我想將數據放在每一行的所有可編輯列中,這樣我就可以通過單擊網格下方的按鈕來將網格數據更新到服務器(Button上圖中未顯示)。這里我沒有使用grid的editUrl屬性。
目前,如果我編輯第一行,並且如果不小心按下Enter鍵或Esc鍵,則所選行將變為不可編輯狀態。我想將一行中的所有可編輯單元格保持可編輯狀態,直到我按下位於網格下方的Submit按鈕。
我的jQgrid版本是4.5.4
任何幫助表示贊賞。
對於不包含JavaScript代碼或使用的jqGrid版本沒有確切引用的問題,很難回答。 您沒有描述在網格中使用哪種形式的內聯編輯。
內聯編輯期間, Esc和Enter的用法可以通過以下keys: true
進行管理keys: true
選項。 使用keys
選項的確切語法取決於您如何使用內聯編輯。 例如,您可以直接調用editRow或使用其他方法mile inlineNav或格式化程序:“ actions”為您調用editRow
。 keys
選項的默認值已經為false
,因此您可以將代碼中的某個位置的值更改為true
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.