2014-09-03 4 views
-3

Я новичок в приложении C# .net winforms. У меня есть сетка данных wch, которая отображает некоторые данные, и из них один из столбцов shud будет сделан dropdownlist или combobox. как я могу использовать это в своем коде. пожалуйста помоги.combobox/dropdownlist в виде сетки 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"; 
} 

Я хочу, чтобы заполнить 3-й столбец таблицы данных с именем поставщика с точки зрения сетки соответствующие поставщики table.The данных уже заполнена данными из запроса присоединиться и один из поля Поставщик (WCH I 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

+0

я не использую никаких шаблонов элементов. Я просто перетащил сетку в мою winform и заполнил сетку, основанную на сложном запросе соединения. – psk

ответ

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

+0

, где вы получаете пустое исключение – Kishan

+0

, пожалуйста, см. Код обновления – Kishan

Смежные вопросы