2012-06-07 60 views
1

我有一個datagrid,其中我有一列中的組合框。在一個特定的事件中,我想填充查詢結果的組合框。我寫了這個代碼C#:如何將查詢結果設置爲組合框在datagridview

string materialQuery = "Select material_name from tbl_material_master where material_id =" + int.Parse(mat_id); 
      cmd1 = new SqlCommand(materialQuery, con); 
      sdr = cmd1.ExecuteReader(); 
      if (sdr.HasRows) 
      { 
       while (sdr.Read()) 
       { 
        materialName = sdr["material_name"].ToString(); 
        grdPurchase.Rows[0].Cells[2] = materialName.ToString(); 
       } 
      } 

但它給錯誤
如何解決這個問題?

+0

你有沒有嘗試做只materialName = sdr.ToString(); ?或ExecuteNonQuery而不是ExecuteReader? (我不知道ExecuteReader是如何工作的) –

+0

@PierrePellegrinoMilza'ExecuteNonQuery'用於插入,更新和刪除查詢。雖然對於Select查詢不是很有用。 – LarsTech

+0

@LarsTech我不知道,謝謝! (我正在使用ExecuteNonQuery和Select查詢,所以我會改變它!) –

回答

0

假設沒有數據錯誤,嘗試添加項目到Items收集ComboBox的:

DataGridViewComboBoxCell cell; 
cell = (DataGridViewComboBoxCell)grdPurchase.Rows[0].Cells[2]; 
cell.Items.Add(materialName);