【问题标题】:How to refresh grid panel's store within a floating form panel?如何在浮动表单面板中刷新网格面板的商店?
【发布时间】:2013-07-19 19:58:35
【问题描述】:

我正在开发这个 ExtJS 4 应用程序,我在其中负责管理应用程序用户。

表单像窗口一样弹出floating: true

var user_grid_form = Ext.create('Ext.form.Panel',
{
    xtype       : 'form-grid',
    frame       : true,
    title       : 'User Information',
    floating    : true,
    draggable   : true,
    closable    : true,
    closeAction : 'hide',
    bodyPadding : 5,
    layout      : 'column',
    closeAction : 'destroy',
    width       : 532,
    items       : 
    [
        user_grid,
        user_textfield
    ],
    buttons :
    [
       {
            text    : 'Save Edits',
            icon    : 'images/save.png',
            handler : handleUpdates
       },
       {
            text    : 'Delete User',
            icon    : 'images/delete.png',
            handler : handleDeletes
       }
    ]
}).show();  

user_grid 是我的窗口面板中显示usernames 的网格

现在,问题是当我选择用户名时,就像jhony 并按Delete User 我的handleDeletes 通过Ajax 更新数据库。但后来我尝试刷新user_grid,但它不起作用。 删除后,用户应该会从user_grid消失

这是我在handleDeletes里面尝试做的:

user_store.splice(ind, 1);      // I removed `jhony` from `user_store` 
                                // which is the `store` for `user_grid`             
user_grid.getView().refresh();  // Now trying to refresh and NO ERRORS NO ACTIONS

感谢任何线索。

【问题讨论】:

    标签: javascript extjs extjs4 gridpanel


    【解决方案1】:

    其实你想做的是:

    user_grid.getStore().remove(yourRecord); //remove record from the store and also from the grid view
    user_grid.getStore().sync(); //send changes to the server
    

    【讨论】:

      【解决方案2】:

      代替

      user_grid.getView().refresh(); 
      

      试试

      user_grid.store.load();
      

      如果在服务器端执行删除,则无需在存储上执行任何其他操作(拼接)。

      【讨论】:

        【解决方案3】:

        感谢您的回答dbrin,但没有奏效。

        我认为没有必要触摸user_grid 网格面板。我只需要更新它是store。 商店有data,一旦我这样做,一切正常:

        user_store.splice(ind, 1);  
        u_store.load(user_store);
        // u_store is the store that has user_store data
        

        【讨论】:

          猜你喜欢
          • 2015-04-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多