我有 3 列的 dx-data-grid。其中两个使用 dxo-lookups。其中一个的数据源依赖于另一个的值。在什么事件上我应该以编程方式设置此查找的数据源到目前为止我所做的是:我捕获了 dx-data-grid 的 onEditorPreparing,并且我设法设置了数据源,但问题是,当我展开查找时它是空的,它没有刷新用户界面
<dx-data-grid [dataSource]="dataSource" [allowColumnResizing]="true" columnResizingMode="widget" (onEditorPreparing)="onEditorPreparing($event)">
<dxo-editing
mode="cell"
[allowUpdating]="true"
[allowAdding]="true"
>
>
<dxi-column
dataField="CategoryID" [allowEditing]="true" caption="Group" [width]="19+'%'" > <!-- provides actual values -->
<dxo-lookup
[dataSource]="specCategories"
valueExpr="ID"
displayExpr="CategoryName"
(onValueChanged)="valueChanged($event)"> <!-- provides display values -->
</dxo-lookup>
</dxi-column>
<dxi-column [width]="10+'%'" dataField="shit" >
<dxo-lookup [dataSource]="specValues" valueExpr="ID"
displayExpr="Value" >
</dxo-lookup>
</dxi-column>
<dxi-column dataField = "Value" caption="Text" [width]="80+'%'" ></dxi-column>
onEditorPreparing(e) {
if (e.parentType === "dataRow" && e.dataField === "shit") {
this.orderLineSpecService.getspecCategoriesValues(282).subscribe(
(values) => {
console.log(e.lookup.dataSource); <-- First is empty
e.lookup.dataSource = values; <-- I set it
console.log(e.lookup.dataSource); <-- it is set, but when i expand the look up is still empty
});
}
}