我在 Angular 5 中使用 DevExtreme DataGrid。添加和编辑被激活并在弹出窗口中使用。有一个字段,它应该只出现在 Add-popup,而不是 Edit-Popup。在普通的 DataGrid 中,它无论如何都被禁用。
<dxi-column dataField="Staff" [visible]="false">...
如何在 Add 中启用人员字段并在 Edit-Popup 中禁用它?
谢谢你的帮助!坦率
我在 Angular 5 中使用 DevExtreme DataGrid。添加和编辑被激活并在弹出窗口中使用。有一个字段,它应该只出现在 Add-popup,而不是 Edit-Popup。在普通的 DataGrid 中,它无论如何都被禁用。
<dxi-column dataField="Staff" [visible]="false">...
如何在 Add 中启用人员字段并在 Edit-Popup 中禁用它?
谢谢你的帮助!坦率
要完成此任务,请使用onEditorPreparing 或 onEditingStart 和 onInitNewRow。请参阅下面的代码,该代码说明了这两种解决方案的实际效果:
第一个解决方案:
<dx-data-grid
(onEditorPreparing)="onEditorPreparing($event)">
onEditorPreparing(e) {
if(e.parentType === "dataRow" && e.dataField === "CityID") {
e.editorOptions.disabled = (typeof e.row.data.StateID !== "number");
}
}
第二种解决方案:
onEditingStart(e) {
e.component.columnOption("firstName", "allowEditing", false);
},
onInitNewRow(e) {
e.component.columnOption("firstName", "allowEditing", true);
}