2014-09-03 92 views
-3

我是c#.net winforms應用程序的新手。我有一個數據網格,它會顯示一些數據,並將列中的某一列作爲下拉列表或組合框。我如何在我的代碼中使用它。請幫忙。在網格視圖中的組合框/下拉列表c#.net

private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) 
{ 
    DataGridViewComboBoxColumn combo = (DataGridViewComboBoxColumn)dataGridView1.Rows[e.RowIndex].Cells[3].OwningColumn; 
    sql = "select NAME FROM Suppliers"; 
    BindingSource bsource = new BindingSource(); 
    bsource.DataSource = obj.SqlDataTable(sql); 
    dataGridView1.DataSource = bsource; 
    combo.HeaderText = "Select Supplier"; 
} 

我想填充從相應的供應商table.The數據網格視圖與供應商名稱的數據網格的第三列已經填入了數據從連接查詢和領域之一是供應商(WCH我mwant轉換爲下拉菜單或組合框)。讓我知道你是否需要任何進一步的澄清信息。

 I Modified my code as follows: 

     DataGridViewComboBoxColumn combo = new DataGridViewComboBoxColumn(); 
     combo.HeaderText = "Suppliers"; 
     //execute sql data adapter to get supplier values 
     DataTable dt = obj.SqlDataTable("select NAME from CUSTOMERS"); 
     foreach (DataRow supplier in dt.DataSet.Tables[0].Rows) 
     { 
      combo.Items.Add(supplier[0]); 
     } 
     dataGridView1.Columns.Add(combo); 

現在在 「dt.DataSet.Tables [0] .Rows」 得到一個空引用異常。 plz幫助。我不確定是否缺少某些東西。

+0

你需要查找如何使用ItemTemplate裏是一個好的開始它並不難,我不使用任何項目模板 – MethodMan 2014-09-03 20:11:56

+0

。我只是將網格視圖拖放到我的winform中,並基於複雜的連接查詢填充網格視圖。 – psk 2014-09-03 20:16:19

回答

0

試試這個代碼

string strcon = @"Data Source=kp;Initial Catalog=Name;Integrated Security=True;Pooling=False"; 
     SqlConnection con; 
     SqlCommand cmd; 
     SqlDataAdapter da; 
     DataTable dt; 
     DataGridViewComboBoxColumn dgvCmb; 
     public Form2() 
     { 
      InitializeComponent(); 
      grdcmd(); 
     } 
     public void grdcmd() 
     { 
      con = new SqlConnection(strcon); 
      con.Open(); 
      string qry = "Select * from Dbname"; 
      da = new SqlDataAdapter(qry, strcon); 
      dt = new DataTable(); 
      da.Fill(dt); 
      dgvCmb = new DataGridViewComboBoxColumn(); 
      foreach (DataRow row in dt.Rows) 
      { 
       dgvCmb.Items.Add(row["Fname"].ToString()); 
      } 
      dataGridView1.Columns.Add(dgvCmb); 
     } 
+0

謝謝。我修改了我的代碼,如上所示。我得到一個空引用異常,我不知道如果我錯了某些地方。 – psk 2014-09-04 14:07:39

+0

你在哪裏得到空例外 – Kishan 2014-09-05 04:39:24

+0

請看我更新的代碼 – Kishan 2014-09-05 06:57:25