【问题标题】:How to set state for DevExtreme React Grid When update on Grid在 Grid 上更新时如何为 DevExtreme React Grid 设置状态
【发布时间】:2020-04-20 01:57:39
【问题描述】:

我有一个批处理模式的 DevExtreme React Grid。我想知道当我在 Grid 中更新时如何在“状态”中设置值。请检查我下面的代码并建议如何做到这一点......

设置初始状态:-

this.state = {
 GridState : []
};

加载状态中的现有数据:-

componentDidMount() {
axios.get(ConfigItem[0].APIPath+'users/UserRights/2')
.then(res => {
  console.log(res.data.data);
 this.setState({GridState:res.data.data});
})  

}

点击提交按钮时获取网格状态数据:-

onSubmitHandler = (event) => {
  event.preventDefault();
  this.dataGrid.instance.saveEditData();
  console.log(this.state.GridState); // Here I am getting existing data only but I need to get updated data also.
}

HTML 渲染:-

    <div id="data-grid-demo">
    <DataGrid
      dataSource={this.state.GridState}
      ref={ref => this.dataGrid = ref}
      keyExpr="UserAccessId"
      showBorders={true}
      onToolbarPreparing={this.onToolbarPreparing}
    >
      <Paging enabled={false} />
      <Editing
        mode="batch"
        allowUpdating={true}
        selectTextOnEditStart={true}
        startEditAction='click' />
      <Column dataField="UserAccessId" visible={false} />
      <Column dataField="MenuId" visible={false}  />
      <Column dataField="Menu" width={100} />
      <Column dataField="SubMenu" width={170} />
      <Column dataField="ViewAccess" caption="ViewAccess" dataType="boolean" width={150} >
        <CheckBox defaultValue={false} />
      </Column>
      <Column dataField="ZohoParameter"  />
      <Column dataField="Remarks"  />

    </DataGrid>


  </div>

【问题讨论】:

    标签: reactjs devextreme


    【解决方案1】:

    您可以设置 DataGrid 的 onRowUpdated 属性,并从对象参数的数据字段中获取更改的行。

    【讨论】:

    • 以下example 演示了这一点。
    • 感谢您的回复,我已经检查了上面的链接,该示例在沙箱中运行良好,但在我的代码中为什么“onRowUpdated”事件没有触发???
    • 对不起,请忽略我上面的问题...我已经解决了我的问题,实际上我在网格中分配了错误的关键字段
    猜你喜欢
    • 2020-01-15
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多