将GridViewComboBoxColumn绑定到数据源

我已经知道如何指定数据源,但是如果它还没有填充,那么我认为你需要某种bind()命令来填充编辑表单中的comboboxcolumn以下是我如何将数据源绑定到comboboxcolumn(是的我确信ds中有数据行)

(ASPxGridView4.Columns["Naam"] as GridViewDataComboBoxColumn).PropertiesComboBox.DataSource = ds as DataSet; 

那么有人能告诉我如何在编辑模式中填充combobox吗?

编辑

 protected void ASPxGridView4_InitNewRow(object sender, DevExpress.Web.Data.ASPxDataInitNewRowEventArgs e) { if (dt.Rows.Count < 1) { ds = Session["ds"] as DataSet; } GridViewDataComboBoxColumn column = (ASPxGridView4.Columns["Naam"] as GridViewDataComboBoxColumn); column.PropertiesComboBox.DataSource = ds.Tables[0]; column.PropertiesComboBox.ValueField = "Naam"; column.PropertiesComboBox.ValueType = typeof(string); column.PropertiesComboBox.TextField = "Naam"; } 

这是应该工作的代码:

 DataSet dataSet = ds as DataSet; GridViewDataComboBoxColumn column = (ASPxGridView4.Columns["Naam"] as GridViewDataComboBoxColumn); column.PropertiesComboBox.DataSource = dataSet.Tables[0]; column.PropertiesComboBox.ValueField = "SomeValueField"; column.PropertiesComboBox.ValueType = typeof(int); // type of the SomeValueField column.PropertiesComboBox.TextField = "SomeTextField"; 

另外,请参阅GridViewDataComboBoxColumn类主题。

更新您的代码应该在CellEditorInitialize事件中实现,如下所示:

 protected void ASPxGridView1_CellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e) { if(e.Editor is ASPxComboBox) { ASPxComboBox combo = ((ASPxComboBox)e.Editor); combo.DataSource = dataSet.Tables[0]; combo.TextField = "Naam"; combo.ValueField = "Naam"; combo.DataBindItems(); } }