angular - DevExtreme DataGrid:仅在添加中显示项目,而不是在编辑弹出窗口中
问题描述
我在 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);
}
推荐阅读
- angular - 当通过 Visual Studio 2019 for Angular 从 Package.json 恢复包时,显示以下错误,我使用的是 DOT NET 而不是 DOT NET CORE
- python - 使用包含波斯记录的数据集
- google-apps-script - 使用标准 Google Cloud Platform (GCP) 脚本读取 Gmail POST 通知
- ios - APNS 连接失败
- javascript - 如何使用 javascript 字母随机化器在多行中循环?
- java - Java 使用前缀符号计算数学表达式
- java - JAVA正则表达式从文本中获取整个json
- javascript - 无法在本机反应中打印 this.state.arr 中声明的数组?
- java - 与Java NIO非阻塞套接字连接时如何设置超时?
- firebase - Firestore 对集合组数据的分页查询