2011-05-05 86 views
1

我已經知道如何指定數據源,但是由於它沒有填充,所以我想你需要某種bind()命令來填充編輯表單中的組合框 下面是我怎麼綁定數據源到comboboxcolumn(是的,我敢肯定,DS在其數據行)將GridViewComboBoxColumn綁定到數據源

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

所以任何人都可以告訴我,我怎麼能現在居住在編輯模式下的comboboxcolumn?

編輯

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"; 
    } 

回答

6

這裏是一個應該工作的代碼:

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 Class話題。

UPDATE您的代碼應該在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(); 
     } 
    } 
+0

它似乎並沒有工作,要麼我會編輯我的問題有一些額外的代碼是怎麼回事,現在 – Ruben 2011-05-05 13:46:23

+0

它改變許多。我會盡快更新我的答案 – 2011-05-05 13:48:48

+0

阿哈感謝讓我讓它工作的分配^^ – Ruben 2011-05-05 14:00:25