Как инициализировать комбинированный список в InitNewRow

Я пытаюсь заполнить ASPXComboBox, используя событие InitNewRow для вставки новой строки, но у меня возникают проблемы с привязкой данных к ASPXComboBox.

Я использовал событие CellEditorInitialize для редактирования строки, и оно работает нормально, но тот же принципал в событии InitNewRow создает исключение "объект не установлен как экземпляр объекта". Однако вызываемая функция бизнес-логики возвращает полностью заполненный объект DataTable.

Может ли кто-нибудь помочь с этим, пожалуйста.

1 ответ

Если вы хотите установить DataSource comboBox, используйте для этой цели событие CellEditorInitialize. Если вам необходимо определить, когда сетка работает в режиме вставки новой строки, используйте свойство IsNewRowEditing в ASPxGridView. Т.е. код должен быть примерно таким:

protected void ASPxGridView1_CellEditorInitialize(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewEditorEventArgs e) {
        ASPxGridView grid = sender as ASPxGridView;
        if(e.Column.FieldName == "SomeFieldName" && grid.IsNewRowEditing) {
            ASPxComboBox combo = e.Editor as ASPxComboBox;
            combo.DataSource = DataTable;
            combo.DataBindItems();
        }
    }

Этот подход работает для вас?

Другие вопросы по тегам