我正在尝试使用 InitNewRow 事件填充 ASPXComboBox 以插入新行,但在将数据绑定到 ASPXComboBox 时遇到问题。
我已经使用 CellEditorInitialize 事件来编辑行并且它工作正常,但是 InitNewRow 事件上的相同主体出现了“对象未设置为对象的实例”异常。但是,被调用的业务逻辑函数返回一个完全填充的 DataTable。
有人可以帮忙吗?
我正在尝试使用 InitNewRow 事件填充 ASPXComboBox 以插入新行,但在将数据绑定到 ASPXComboBox 时遇到问题。
我已经使用 CellEditorInitialize 事件来编辑行并且它工作正常,但是 InitNewRow 事件上的相同主体出现了“对象未设置为对象的实例”异常。但是,被调用的业务逻辑函数返回一个完全填充的 DataTable。
有人可以帮忙吗?
如果要设置组合框的数据源,请为此目的使用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();
}
}
这种方法对你有用吗?