2011-05-05 2 views
1

Я уже знаю, как указать источник данных, но, несмотря на то, что он еще не заполнен, я подумал, что вам нужна какая-то команда bind() для заполнения comboboxcolumn в форме редактирования как я связать источник данных к comboboxcolumn (да и я уверен, что DS имеет строки данных в нем)Binding GridViewComboBoxColumn to datasource

(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

+0

он изменяет много. Я скоро обновлю свой ответ –

+0

Ага благодарит все, что заставило меня заставить его работать ^^ – Ruben