DevExtreme React DataGrid

问题描述

当我使用 DataGrid 模式将项目添加popup 时。我想根据查找值更改参数值的数据类型。如何使用 DevExpress 的 DevExtreme React 实现它?
我试过 setCellvalue、oneditorpreparing 函数,但我不能。

当我向 DataGrid 添加参数时,此弹出窗口会打开。当我从查找中选择参数类型时,参数值的数据类型应立即设置为所选类型。有我需要的样品吗?我在下面尝试了一个解决方案。

const [dataType,setDataType] = useState('')

function setCellValue(currentRowData,value) {

    if (value === 'number') {
      setDataType('dxnumberBox')
    }
    if (value === 'date') {
      setDataType('dxDateBox');
    }
    if (value === 'text') {
      setDataType('dxTextBox')
    }
    if (value === 'boolean') {
      setDataType('dxSelectBox')
    } 

  this.defaultSetCellValue(currentRowData,value);

  }

下面,我设置了 paramValue 的 editorType

<Form  >
  <Item itemType="group" colCount={3} colSpan={2} >
    <Item datafield="paramKey" isrequired={true} />
    <Item datafield="parametersType" disabled={disabled} isrequired={false} />
    <Item datafield="paramValue" editorType={dataType} editorOptions={editorOptions} />
    <Item datafield="description" colSpan={3} isrequired={true} />
    <Item datafield="id" isrequired={true} visible={false} />
  </Item>
</Form>
/// OTHER COLUMNS
<Column setCellValue={setCellValue} datafield="parametersType" caption={translate("mtfeApp.parameters.parametersType")}  >

   <Lookup dataSource={paramTypes} valueExpr="paramkey" displayExpr="paramkey" />
 </Column>

  <Column datafield="paramValue" dataType={null} caption={translate("mtfeApp.parameters.paramValue")}>

我对编辑当前行没有任何问题。这是我的解决方

function onEditingStart(e) {

    if (e.data.parametersType === 'date') {
      setDataType('dxDateBox');
    }  
    if (e.data.parametersType === 'number') {
      setDataType('dxnumberBox')
    }
    if (e.data.parametersType === 'text') {
      setDataType('dxTextBox')
    }
    if (e.data.parametersType === 'boolean') {
      setDataType('dxSelectBox')
    }
  } 

我不知道我的解决方案是否正确。到目前为止,我可以更改整个解决方案。我应该使用哪些方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)