问题描述
当我使用 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 (将#修改为@)