标签: roweditor

当我点击取消时,如何让extjs中的rowediting插件不添加行?

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

我怎样才能做到这一点?

这是FIDDLE.

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

我也在查看sencha论坛,我找到了一个POST,其中说明如下:

  1. fireEvent canceledit

  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', …
Run Code Online (Sandbox Code Playgroud)

javascript extjs extjs4.2 extjs-grid roweditor

5
推荐指数
1
解决办法
5768
查看次数

p:dataTable rowEdit中的已编辑/更新值在侦听器方法中不可用,因为它们被数据库中的现有数据覆盖

我正在使用<p:dataTable>行编辑器编辑数据,如下所示.

<p:dataTable value="#{bean.users}" var="user" editable="true">
    <p:ajax event="rowEdit" listener="#{bean.onRowEdit}" />
    <p:ajax event="rowEditCancel" listener="#{bean.onRowEditCancel}" />
    <p:column>
        <p:cellEditor>
            <f:facet name="output">
                <h:outputText value="#{user.firstName}" />
            </f:facet>
            <f:facet name="input">
                <p:inputText value="#{user.firstName}" />
            </f:facet>
        </p:cellEditor>
    </p:column>
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)

支持bean的实现如下.

private List<User> users;

@EJB
private UserService userService;

public List<User> getUsers() {
    users = userService.list();
    return users;
}
Run Code Online (Sandbox Code Playgroud)

当我在cellEditor中输入新数据并提交它时,它们在侦听器方法中不可用.我注意到它们被数据库调用的数据覆盖了.

为什么会发生这种情况,我该如何避免呢?

datatable getter jsf primefaces roweditor

3
推荐指数
1
解决办法
786
查看次数