如何比较两个单元格字段并验证 devextreme 数据网格中的一个条件
Posted
技术标签:
【中文标题】如何比较两个单元格字段并验证 devextreme 数据网格中的一个条件【英文标题】:how to compare two cell fields and validate one condition in a devextreme datagrid 【发布时间】:2021-11-05 15:28:06 【问题描述】:我的目标是比较列Inicio
和Finalizacion
,但我不知道如何引用Inicio
来比较Finalizacion。
我想做这样的事情:
<CompareRule comparisonType=("Inicio", ">")>
我试过了,但是没有用。这是我的代码:
<DataGrid
dataSource=rows_data
keyExpr="ID"
showBorders=true
columnAutoWidth=true
>
<Scrolling mode="virtual" />
<Paging enabled=false />
<Editing
mode="batch"
allowUpdating=true
allowAdding=true
allowDeleting=true
selectTextOnEditStart=this.state.selectTextOnEditStart
startEditAction=this.state.startEditAction
>
<Texts
deleteRow="Eliminar"
addRow="Agregar nuevo estudio"
allowUpdating="Actualizar información"
/>
</Editing>
<Column dataField="Centros de Estudios" style= width: "100%" >
<Validator>
<RequiredRule />
</Validator>
</Column>
<Column dataField="Nivel" caption="Nivel" style= width: "100%" >
<RequiredRule />
<Lookup
dataSource=OpcionesNivel
valueExpr="ID"
displayExpr="Name"
/>
</Column>
<Column
dataField="Titulo obtenido"
caption="Titulo"
style= width: "100%"
>
<Validator>
<RequiredRule />
</Validator>
<Lookup
dataSource=OpcionesTitulo
valueExpr="ID"
displayExpr="Name"
/>
</Column>
<Column dataField="Inicio" dataType="date" style= width: "100%" >
<Validator>
<RequiredRule />
</Validator>
</Column>
<Column
dataField="Finalización"
dataType="date"
style= width: "100%"
>
<Validator>
<CompareRule
message="Fecha fin es menor a fecha inicial"
comparisonType=("Inicio", ">")
/>
<RequiredRule />
</Validator>
</Column>
</DataGrid>
谁能帮我解决我的问题?
您好!
【问题讨论】:
我解决了我的问题,我必须添加组件“AsyncRule”,它使用 params.data 验证我的逻辑(它是一个具有行值的对象)。 【参考方案1】:<Column
dataField="Finalización"
dataType="date"
style= width: "100%"
>
<RequiredRule />
<AsyncRule
message="Fecha de finalización debe de ser mayor a la inicio"
validationCallback=this.asyncValidation
/>
</Column>
asyncValidation(params)
return new Promise(function executor(resolve)
let compare1 = params.data["Inicio"];
let compare2 = params.data["Finalización"];
if (compare2 < compare1)
resolve(false);
else
resolve(true);
);
【讨论】:
请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。以上是关于如何比较两个单元格字段并验证 devextreme 数据网格中的一个条件的主要内容,如果未能解决你的问题,请参考以下文章