Как инициализировать комбинированный список в InitNewRow - PullRequest
1 голос
/ 29 июня 2011

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

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

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

1 Ответ

0 голосов
/ 30 июня 2011

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

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();
        }
    }

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

...