3
A
回答
7
我建議您使用如此命名的「內聯編輯」進行行編輯。這種方法的最大優點,就是它非常直觀和用戶。您可以在演示頁面http://trirand.com/blog/jqgrid/jqgrid.html上看到它的工作原理。在此演示中選擇「行編輯」,然後在左側樹部分選擇「使用事件」或「輸入類型」。使用這種方法,您可以實現任何自定義驗證,無論是否允許在事件句柄onSelectRow
或ondblClickRow
內編輯所選行。如果你允許編輯,那麼你可以調用jqGrid的editRow
方法。此方法爲所有可編輯的列創建輸入控件,並且用戶可以以自然的方式修改行值。如果用戶按「enter」鍵或取消「esc」鍵,修改將被保存。
我個人更喜歡在ondblClickRow
事件處理程序中實現調用editRow
方法。因此,用戶可以像往常一樣繼續選擇行,並可以使用雙擊進行行編輯。僞代碼看起來像下面這樣:
var lastSel = -1;
var isRowEditable = function (id) {
// implement your criteria here
return true;
};
var grid = jQuery('#list').jqGrid({
// ...
ondblClickRow: function(id, ri, ci) {
if (isRowEditable(id)) {
// edit the row and save it on press "enter" key
grid.jqGrid('editRow',id,true);
}
},
onSelectRow: function(id) {
if (id && id !== lastSel) {
// cancel editing of the previous selected row if it was in editing state.
// jqGrid hold intern savedRow array inside of jqGrid object,
// so it is safe to call restoreRow method with any id parameter
// if jqGrid not in editing state
grid.jqGrid('restoreRow',lastSel);
lastSel = id;
}
},
pager: '#pager'
}).jqGrid('navGrid','#pager',{edit:false});
2
您可以在邏輯上做到這一點。你必須有一些單元格的標準,一些單元格可以編輯,有些則不可以。
我已經實施它行明智。
爲jqgrid創建XML時,請爲每行提供一些id。
基於這些id,您可以使用jqgrid方法使這些行的單元格可編輯或不可編輯。
下面是beforeEditCell方法:
beforeEditCell: function(rowid, cellname, value, iRow, iCol) {
// here identify row based on rowid
// if the row should not be editable than simply make the cells noneditable using
editCell(iRow, iCol, false);
jQuery(gridid).jqGrid("restoreCell",iRow,iCol);
}
您可以進一步實現自己。
希望我的建議能幫助你。 :)
相關問題
- 1. 僅在SlickGrid中編輯某些列
- 2. 使用Mindmup可編輯表格使某些列不可編輯
- 3. 如何在JQGrid的行編輯中禁用某些單元格的編輯?
- 4. JQGrid動態行可編輯
- 5. JQGrid可選的可編輯列
- 6. Powerbuilder:使某些行可編輯,某些行在數據窗口中不可編輯
- 7. 如何使列表框中的某些行不可編輯
- 8. 僅使UITableView的某些部分可編輯
- 9. jqGrid單元格編輯 - 雙擊編輯?
- 10. 如何在jqgrid中設置一些不可編輯的行?
- 11. jqgrid內嵌編輯:動態設置可正確編輯另一列的列
- 12. jqGrid - 編輯數據
- 13. JQGrid,編輯網址
- 14. 僅在添加新行時才能編輯Devexpress Gridview中的某些列
- 15. jqGrid行編輯自定義編輯動作工具提示
- 16. JQGrid不顯示select可編輯的值
- 17. 在jqGrid的敲定編輯
- 18. 停止編輯框中的某些鍵
- 19. jqgrid編輯並添加「tab」鍵的行
- 20. jqgrid - 編輯行時的格式
- 21. jqgrid:根據表單編輯中的單元格值將可編輯單元格更改爲不可編輯
- 22. 製作JqGrid單元格可編輯
- 23. jqGrid更新字段「可編輯:false」
- 24. JQGrid表格編輯標籤/列寬
- 25. jqgrid表單編輯:顛倒列順序
- 26. CRM 2011:僅在某些實體上啓用批量編輯
- 27. 如何在僅顯示某些記錄時編輯nsfetchresults記錄?
- 28. jqGrid內嵌編輯問題
- 29. 使用asp.net mvc編輯jqGrid
- 30. jqgrid編輯,保存和esc
感謝您的詳細輸入。聽起來像一個合理的解決方案。 – 2010-05-20 06:29:54
@Oleg:這仍然允許行內聯和表單編輯。如何防止內聯和形式編輯禁用的行也? – Andrus 2012-07-31 14:12:38