jQuery jqGrid 内联编辑 - 取消行编辑将删除该行
jQuery jqGrid Inline Editing - Cancel row edit deletes the row?
我的jqGrid实际上遇到了问题,在网上找不到任何类似的问题。也许我没有为它使用写入标签,对不起。
好吧,让我们开始讨论真正的问题。我正在使用内联编辑,并且对按钮进行了一些自定义。我想使用"ENTER"和"ESC"键作为快捷方式。这工作正常。我在本地操作网格中的数据,只有当用户按下专用按钮时,我才会将数据保存在文件中。此文件也用于填充网格。因此,如果用户现在正在编辑网格中尚未在我的文件中的任何行,并且他通过按 ESC 取消编辑,则整个数据行将被删除。
有人可以帮助我吗?我的网格:
// Table
jQuery("#tbl").tableDnD({scrollAmount:0});
jQuery("#tbl").jqGrid({
url:'../path/to/my/script.pl',
datatype: "json",
postData:{'art':'empfang'},
jsonReader: {
repeatitems: false
},
colNames:['1','2','3','4','5'],
colModel:
[
{name:'1',index:'1', width:200, align:"left", sortable:true,editable:true, edittype:"text"},
{name:'2',index:'2', width:200, align:"left", sortable:true,editable:true, edittype:"select",editoptions:{value:b}},
{name:'3',index:'3', width:200, align:"left", sortable:true,editable:true, edittype:"text"},
{name:'4',index:'4', width:220, align:"left", sortable:true,editable:true, edittype:"select",editoptions:{value:""}},
{name:'5',index:'5', width:200, align:"left",sortable:true,editable:true, edittype:"select",editoptions:{value:""}}
],
rowNum:2000,
rowTotal: 2000,
loadtext: 'Reading data...',
height: '100%',
width: '100%',
hidegrid: false,
sortable: true,
toppager: true,
gridview: true,
viewrecords: true,
rownumbers: true,
loadonce: true,
editurl: 'dummy.php',
pager: '#tbl_toppager',
loadComplete: function(data){
$("#tbl").setColProp('4', { editoptions: { value: data.userdata.4} });
$("#tbl").setColProp('5', { editoptions: { value: data.userdata.directory_listing} });
},
gridComplete: function() {
$("#_empty","#tbl").addClass("nodrag nodrop");
jQuery("#tbl").tableDnDUpdate();
},
caption: "Testgrid",
ondblClickRow: function(id){
jQuery('#tbl').editRow(id, true);
}
});
jQuery("#tbl").jqGrid('filterToolbar');
jQuery("#tbl").jqGrid(
'navGrid',
'#tbl_toppager',
{
del: true,
add: false,
edit: false,
refresh: false,
search: true
},
{
}, // edit options
{
}, // add options
{
reloadAfterSubmit: false,
jqModal: true,
closeOnEscape: true
}, // del options
{
jqModal: true,
closeOnEscape: true
} // search options
);
jQuery("#tbl").jqGrid(
'inlineNav',
'#tbl_toppager',
{
editParams: { keys: true },
addParams: { addRowParams: { keys: true } }
}
); // Inline Editing
jQuery("#tbl_toppager_right").hide();
jQuery("#tbl_toppager_center").hide();
jQuery("#tbl").navSeparatorAdd(
"#tbl_toppager_left",
{
sepclass : "ui-separator",
sepcontent:""
}
).jqGrid(
'navButtonAdd',
'#tbl_toppager_left',
{
caption: "",
buttonicon: "ui-icon-document",
title: "Save data in file",
position: "last",
onClickButton: function () {
$("#write_file").dialog('open');
}
}
);
谢谢建议。问候。
在JQGrid的官方演示中,他们提供了一个示例,该示例与您请求的几乎相同
...
onSelectRow: function(id){
if(id && id!==lastsel){
jQuery('#rowed3').jqGrid('restoreRow',lastsel);
jQuery('#rowed3').jqGrid('editRow',id,true);
lastsel=id;
}
}
...
其中lastsel
是全局变量
所以你可以使用jQuery('#rowed3').jqGrid('restoreRow',idOfLineToRestore);
在你的逃生事件中
相关文章:
- ACE编辑器正在删除模块,因为define是't一根绳子
- 如何从DOM中删除Aloha编辑器
- 如何删除包含内容可编辑跨度的整个跨度元素
- 如何从拼音编辑器中删除特殊字符
- 使用AJAX传递的数据编辑XML文件-正在删除XML数据
- 如何根据某些条件向可编辑的jquery数据表添加或删除按钮
- Rails Production-可以工作,但不能编辑/删除/创建记录
- 使部分内容可编辑,无法删除
- 如何使用jstree删除上下文菜单中的编辑选项
- X 可编辑:删除“.editable-unsaved”类
- 如何过滤对象内部深度堆叠的数据(并在之后编辑删除它)
- FullCalendar,我如何允许用户编辑/删除事件并将其从数据库中删除
- 添加-编辑-删除按钮不工作
- PHP动态表与编辑/删除链接打开一个弹出
- 编辑/删除HTML表w/Javascript或Jquery通过模态
- 鼠标在菜单项上的引导程序下拉菜单应在右侧显示编辑/删除图标
- 剑道网格:取消编辑删除新行
- 如何使用网格行内的按钮编辑/删除网格模型中的行
- 如何在Backbone中将模型(数据)从一个视图传递到另一个视图并编辑/删除它
- AJAX:如何显示/添加/编辑/删除(CRUD)尽可能多的性能