DevExtreme DataGrid: показывать элемент только во всплывающем окне, а не в редактировании
Я использую DevExtreme DataGrid в Angukar 5. Add и Edit активируются и используются во всплывающем окне. Есть на поле, которое должно появляться только во всплывающем окне, но не во всплывающем редакторе. В обычном DataGrid он все равно отключен.
<dxi-column dataField="Staff" [visible]="false">...
Как включить поле персонала в Add и отключить его в Edit-Popup?
Спасибо за помощь! Фрэнк
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);
}