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);
}
Другие вопросы по тегам