【发布时间】:2026-01-21 20:40:02
【问题描述】:
我必须删除编辑器网格中的选定项目。首先加载商店,用户可以选择在此网格中添加或删除空白行,然后他们可以对其进行编辑。问题不在于删除从商店加载的初始记录。当我添加一个额外的行,编辑它然后选择删除它时,问题就出现了(用户可能决定他根本不需要这一行)。
似乎当我想使用 store.getModifiedRecords 保存更改时,它仍然会看到已删除的行,因此也会对其进行处理。这是删除按钮:
442
443 text:'Remove',
444 tooltip:'Remove attribute',
445 iconCls:'silk-table_delete',
446 handler: function() {
447 var selectedItem = attributeEditor.getSelectionModel().getSelected();
448
449 // Check if we have selected item
450 if (selectedItem) {
451 // Get selected item value
452 var attribute = selectedItem.get('Name');
453
454 // Remove selected
455 attributeStore.remove(selectedItem);
456
457 // Add to our removed attributes hash
458 if (id) {
459 RemovedAttributes.push(attribute);
460 }
461 } else {
462 wispUserFormWindow.getEl().mask();
463
464 // Display error
465 Ext.Msg.show({
466 title: "Nothing selected",
467 msg: "No attribute selected",
468 icon: Ext.MessageBox.ERROR,
469 buttons: Ext.Msg.CANCEL,
470 modal: false,
471 fn: function() {
472 wispUserFormWindow.getEl().unmask();
473 }
474 });
475 }
476 }
477 }
【问题讨论】:
-
只是一个更新.. 仍然不确定为什么会这样,但我所做的是在提出请求之前,检查删除列表中是否有任何项目匹配并将它们从请求列表中删除。
标签: javascript extjs grid