在ExtJS 6.5.0中,我创建了一个Store和一个可编辑的网格面板:

Ext.define('StateStore',{
    extend: 'Ext.data.Store',
    alias: 'store.stateStore',
    storeId  : 'StateStore',
    fields: ['Id', 'Name', 'SortIndex'],
    autoLoad : true,

    proxy: {
        type : 'ajax',
        api  : {
            create  : undefined,
            read    : '/kanban/states/read/' + kanbanId,
            update  : '/kanban/states/update/' + kanbanId,
            destroy : undefined
        },
        writer : {
            type        : 'json',
            allowSingle : false
        }
    }
});


var StateList = Ext.create({
    xtype : 'gridpanel',
    selModel: 'cellmodel',
    title : 'Manage States',
    store : {
        type: 'stateStore'
    },
    plugins: {
        ptype: 'cellediting',
        clicksToEdit: 1
    },
    columns: [
        {
            text: 'ID',
            dataIndex: 'Id',
            flex: 1
        },{
            text: 'Name',
            dataIndex: 'Name',
            flex: 2, 
            editor: {
                field: {
                    type: 'textfield',
                    allowBlank: false
                }
            }
        },
        { 
            text: 'SortIndex',
            dataIndex: 'SortIndex',
            flex: 1,
        }
    ],
});

当用户完成编辑并单击保存时,将调用store.sync()函数,但是它将仅将修改后的记录和字段传递给服务器。 我使用record.dirty=true强制它传递所有记录,但是未修改的字段仍然没有传递。

为什么我要通过所有记录和字段? 因为我想删除现有记录并在每次更新时创建新记录。 因此,我不需要分别处理创建/更新/删除。 只有几个条目,因此性能不是问题。

一种解决方案是使用Ext.Ajax()而不是sync() ,我想知道是否有更好的解决方案?

#1楼 票数:2 已采纳

使用writeAllFields: true配置您的作家。

相关文档

  ask by Jun G. translate from so

未解决问题?本站智能推荐:

1回复

如何从store.sync()获取返回消息;

php返回成功消息字符串 如何获取消息并在此处显示msg: "Update Success !" ?
1回复

传递extJs网格值以存储PHP脚本

我目前有一个简单的extJS Grid,它可以从服务器中提取数据并将其呈现给查看器。 我想获取所选行的值,然后将其传递给另一个PHP脚本进行处理,以便在另一个网格中显示结果。 使用当前网格中的侦听器,我可以获取值并使用alert方法显示它。 关于如何做到这一点的任何建议? 谢谢
2回复

extjs ajax调用存储未加载

如果与其他帖子非常相似,我深表歉意,但是经过一周以上的努力后,我无法将其投入使用。 终于让Web服务返回了数据,我可以看到返回的数据,但是存储不会加载它。 除了一种情况:当我创建一个ArrayStore并将存储设置为loadRawData时,我看到网格中的响应不正确,所有响应都显示在一列下;
4回复

如何在ExtJS HTTPRequest中传递cookie

我有一个应用程序在前端使用ExtJS,在服务器上使用TurboGears。 我现在开始使用CookieProvider状态管理器添加cookie来处理自定义前端。 这很酷,但每次通话都会传递cookie,这些cookie很大。 我对性能影响感到担忧。 无论长短,有没有办法阻止某些co
2回复

ExtJS-具有JSON存储的DWR代理吗?

我试图使JsonStore使用一个接受参数并异步执行的函数,但是我不确定如何做到这一点。 myMethod接受callback ,但是如何将回调数据绑定到JsonStore ? 我试图用一个DwrProxy实现,但现在当我不及格fields到JsonReader ,没有数据填充我的
1回复

ExtJs动态存储失败的呼叫句柄

我有一家经典商店 现在,我通常会像这样进行存储负载: 我知道我可以像在这里那样使用标准的方法: 尝试使用来自AJAX请求的JSON数据加载Ext存储返回错误,但是我宁愿在自己的存储中定义错误处理程序。 那可能吗?
1回复

ExtJS 4-使用远程json存储显示网格

我是ExtJS 4的新手。我试图显示一个从远程存储中获取结果的结果列表,但收效甚微。 下面是查看文件 下面是模型 这就是商店的定义方式 最后是预期在浏览器中呈现网格的HTML文件 在浏览器中运行时,在浏览器控制台中出现以下错误 有人可以指导我解决此问
1回复

ExtJS-项目选择器动态存储负载

我正在将ExtJS 3.3.0与CodeIgnitor 1.7.4一起使用GoPHP5 我有点困惑我想做的是: 我有一个主要的ItemSelector 选择多个值并将其移至下一个框时(将存储分配给第二个框) 我需要一个ajax或代理功能来将相关结果发送到新的itemSel