ExtJs Grid通过渲染器中的ajax填充列

时间:2015-03-09 17:12:38

标签: ajax extjs extjs-grid

我有一个包含三列的ExtJs网格(第三列是状态)。前两列被加载以存储并填充在网格中。第三列取决于前两列。我无法为第三列创建新商店。

是否可以在渲染器中进行ajax调用以填充第三列?我知道渲染器是同步的。有没有办法实现这个目标?任何一个例子都受到高度赞赏。

function renderStatus(value) {
    var statusAjaxOnSuccessCallback = function (serverStatus) {
        //debugger;           

        grid.getStore().each(function (rec) {
           rec.set('Status', 'After Ajax');               
        });            
    };
    callAjax(statusAjaxOnSuccessCallback);
    //return 'BeforeAjax';
}

2 个答案:

答案 0 :(得分:1)

只需以正常方式配置网格,第三个网格列绑定到商店第三列的dataIndex。

每当您为商店中的行设置第三列的值(您可以通过AJAX成功处理程序执行此操作)时,网格将自动更新并显示该新值。

答案 1 :(得分:0)

以下是我解决问题的方法。

  1. 订阅网格商店的加载事件。
  2. 在该事件中,触发ajax查询以获取第三列的值。
  3. 在ajax查询的onsuccess事件中,更新网格存储,并自动呈现该值。
  4. 将网格视图配置的markDirty设置为false,以使该列不显示脏标记。