【问题标题】:DevExtreme DataGrid: Show item only in add, not in edit popupDevExtreme DataGrid:仅在添加中显示项目,而不是在编辑弹出窗口中
【发布时间】:2018-05-30 12:52:50
【问题描述】:
我在 Angular 5 中使用 DevExtreme DataGrid。
添加和编辑在弹出窗口中被激活和使用。
有一个字段,它应该只出现在 Add-popup,而不是 Edit-Popup。
在普通的 DataGrid 中,它无论如何都被禁用。
<dxi-column dataField="Staff" [visible]="false">...
如何在 Add 中启用人员字段并在 Edit-Popup 中禁用它?
感谢您的帮助!
弗兰克
【问题讨论】:
标签:
angular
devextreme
devextreme-angular
【解决方案1】:
要完成此任务,请使用 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);
}