1

ページに ext.net GridPanel があります。GridPanel にはボタンが含まれています。ボタンをクリックした後にGridPanelの更新を強制する方法は?

更新

protected void btnDelete_Click(object sender, DirectEventArgs e)
{
    var rsm = egrDrivers.SelectionModel.Primary as RowSelectionModel;
    var selectedRowsCollection = rsm.SelectedRows;
    foreach (var key in selectedRowsCollection.Select(row => row.RecordID))
              Facade.Vehicle.DeleteVehicle(Guid.Parse(key));


   //how to force GridPanel refresh?  
}
4

2 に答える 2

2

ext: GridPanel GridPanel1 に割り当てられたデータ ストアGridStore1 があるとします。

<ext:GridPanel ID="GridPanel1" runat="server" Title="My Grid">
    <Store>
        <ext:Store ID="GridStore1" runat="server">
            <Reader>
                <ext:JsonReader>
                    <Fields>
                        <ext:RecordField Name="RecordID" />
                        // ...
                    </Fields>
                </ext:JsonReader>
            </Reader>
        </ext:Store>
    </Store>
    <ColumnModel ID="ColumnModel1" runat="server">
        <Columns>
            <ext:Column Header="Record ID" DataIndex="RecordID" Width="100" />
            // ...
        </Columns>
    </ColumnModel>
    <SelectionModel>
        <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" SingleSelect="true">
        </ext:RowSelectionModel>
    </SelectionModel>
</ext:GridPanel>

次のサーバー側コードを記述することで、プロセスの後に GridPanel のデータを更新できます。

GridStore1.DataSource = Facade.Vehicle.List(); // your data object List or DataTable
GridStore1.DataBind();
于 2011-08-06T17:48:13.500 に答える
1

あなたが使用できることをrefreshing意味する場合:reloading datagrid.store.load()

new Ext.grid.Panel({
  // ...
  store: yourStore,
  // ...
  bbar: [{
      xtype: 'button',
      text: 'refresh',
      handler: function(btn){
        var grid = btn.findParentByType('grid');
        grid.store.load();
      }
    }],
  // ...
});
于 2011-08-02T12:40:37.927 に答える