我正在使用jqgrid的inlineNav選項向工具欄添加「添加」選項。我也在使用動作格式化程序進行編輯和刪除。 當我添加一個新行時,新添加的行有一個編輯圖標和一個取消圖標,而保存圖標位於添加旁邊的工具欄上。jqgrid inlineNav add - 在添加的行上顯示保存圖標
有沒有辦法指定新添加的行有保存和取消圖標,而不是具有編輯圖標?
我正在使用jqgrid的inlineNav選項向工具欄添加「添加」選項。我也在使用動作格式化程序進行編輯和刪除。 當我添加一個新行時,新添加的行有一個編輯圖標和一個取消圖標,而保存圖標位於添加旁邊的工具欄上。jqgrid inlineNav add - 在添加的行上顯示保存圖標
有沒有辦法指定新添加的行有保存和取消圖標,而不是具有編輯圖標?
如果有人有類似的問題。
我結束了自己的格式化程序。
inlineNavAction = function(cellvalue, options, rowObject, isSavedRow){
if(isSavedRow !== true){
var rowid = options.rowId;
var ocl = "id='jSaveButton_"+rowid+"' onclick=jQuery.fn.fmatter.rowactions.call(this,'save'); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); ";
var str = "<div title='"+$.jgrid.edit.bSubmit+"' style='float:left;' class='ui-pg-div ui-inline-save' "+ocl+"><span class='ui-icon ui-icon-disk'></span></div>";
ocl = "id='jCancelButton_"+rowid+"' onclick=jQuery.fn.fmatter.rowactions.call(this,'cancel'); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); ";
str += "<div title='"+$.jgrid.edit.bCancel+"' style='float:left;margin-left:5px;' class='ui-pg-div ui-inline-cancel' "+ocl+"><span class='ui-icon ui-icon-cancel'></span></div>";
return "<div style='margin-left:8px;'>" + str + "</div>";
}else{
return $.fn.fmatter.actions(cellvalue, options, rowObject);
}
}
isSavedRow爲真在格式化的情況下,通過後一排已經被保存,由於被加入到被再次調用。我也默認rowId爲0. 默認操作傳遞false。 我把標記爲保存和GitHub上可用的源取消4.5版
用法:
formatter: function(cellvalue,options,rowObject) {
return inlineNavAction(cellvalue,options,rowObject, (options.rowId!='new_row'));
}
在
(options.rowId!='new_row')
的NEW_ROW是不管你已經設置爲默認的ROWID添加一行。 new_row是默認值。
更改action
列formatter
到:
formatter: function (cellvalue, options, rowObject) {
if (cellvalue === undefined && options.rowId === "_empty") {
// remove edit and del buttons
options.colModel.formatoptions.editbutton = false;
options.colModel.formatoptions.delbutton = false;
}
return $.fn.fmatter.actions(cellvalue, options, rowObject);
},
,然後在inlineNav
addParams
我們:
addParams: {
position: "last",
rowID: '_empty',
useDefValues: true,
addRowParams: {
url: '....',
key: true,
restoreAfterError: false,
oneditfunc: function(rowId) {
// display the save and cancel buttons
$("#jSaveButton_" + rowId).show();
$("#jCancelButton_" + rowId).show();
},
// ... the rest
},