Как инициализировать комбинированный список в 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();
}
}
Этот подход работает для вас?