gpt4 book ai didi

javascript - 我怎样才能使 extjs 中的 rowediting 插件在我点击取消时不添加行?

转载 作者:搜寻专家 更新时间:2023-11-01 04:17:05 25 4
gpt4 key购买 nike

目前rowediting插件提供了update/cancel选项。如果它是新添加的行,当我点击 cancel 按钮时,我希望它不添加新行。

我怎样才能做到这一点?

这是 FIDDLE .

目前,使用rowediting,我只是添加和删除行。如果无法使用 cancel,我该如何添加一个新按钮 close 并使其不添加该行。

我也在看 sencha 论坛,我发现了一个 POST它说了以下内容:

  1. fireEvent 取消编辑

  2. autoRecoverOnCancel 为真时,如果记录是幻影则将其删除

但是,这也没有用。你能推荐一下吗?

var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
clicksToMoveEditor: 1,
autoCancel: false,

});

tbar: [{
text: 'Add Employee',
iconCls: 'employee-add',
handler: function() {
rowEditing.cancelEdit();

// Create a model instance
var r = Ext.create('Employee', {
name: 'New Guy',
email: 'new@sencha-test.com',
start: new Date(),
salary: 50000,
active: true
});

store.insert(0, r);
rowEditing.startEdit(0, 0);
}
}, {
itemId: 'removeEmployee',
text: 'Remove Employee',
iconCls: 'employee-remove',
handler: function() {
var sm = grid.getSelectionModel();
rowEditing.cancelEdit();
store.remove(sm.getSelection());
if (store.getCount() > 0) {
sm.select(0);
}
},
disabled: true
}]

最佳答案

在这里你可以看到如何取消未保存的记录:

var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
clicksToMoveEditor: 1,
//autoCancel: false,
listeners:{
'canceledit': function(rowEditing, context) {
// Canceling editing of a locally added, unsaved record: remove it
if (context.record.phantom) {
context.store.remove(context.record);
}
}
}
});

您的 fiddle 示例不起作用,因为您在那里使用的是 ExtJS 4.0.0。在这里你可以找到一个使用 ExtJS 4.2.0 的工作:jsfiddle

关于javascript - 我怎样才能使 extjs 中的 rowediting 插件在我点击取消时不添加行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23429435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com