2015-07-22 62 views
0

我正在使用默认的datagridview在我的Windows窗体应用程序中显示数据。在datagridview中更改组合框在运行时

如果有人点击某一列,我想显示该单元格的组合框。所以在运行时,用户只能为该列单元格选择固定值。

我想要点击事件。

我以编程方式将列和行添加到dataridview。

当我添加一个datable到datagridView,我无法将DataGridViewComboBoxColumn添加到datable。

以下是代码。

  using (StringReader reader = new StringReader(new StreamReader(fileStream, Encoding.Default).ReadToEnd())) 
      { 
       while (reader.Peek() != -1) 
       { 
        string line = reader.ReadLine(); 

        if (line == null || line.Length == 0) 
         continue; 

        string[] values = line.Split(','); 

        output.Add(values); 
        if (!isColumnCreated) 
        { 

         for (int i = 0; i < values.Count() - 1; i++) 
         { 

          table.Columns.Add(values[i]); 

         } 
         isColumnCreated = true; 
         continue; 
        } 

        DataRow row = table.NewRow(); 
         for (int i= 0; i < values.Count() - 1; i++) 
        { 



         row[i] = values[i]; 


        } 

        table.Rows.Add(row); 

       } 
      } 

      dataGridView1.DataSource = table; 

回答

2

我不建议在点击时更改DataGridView单元格的类型。只需用particular column通常填充您的DataGridView作为DataGridViewComboBoxColumn那就试试这个:

(your particular column).DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing; 

当它不是在编辑模式下,是的DataGridViewComboBoxCell没有显示一个下拉按钮。 Readmore here