首页 文章

在datagridview中更改为comboBox在运行时

提问于
浏览
0

我使用默认的datagridview在我的Windows窗体应用程序中显示数据 .

如果有人点击了某个特定列,我想显示该单元格的组合框 . 因此,在运行时,用户只能为该列单元格选择固定值 .

我想在点击事件上做这件事 .

我以编程方式向dataridview添加列和行 .

当我向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;

1 回答

  • 2

    我不建议在点击时更改DataGridView单元格的类型 . 只需使用 particular column 作为DataGridViewComboBoxColumn正常填充DataGridView,然后尝试:

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

    当它不处于编辑模式时,将显示DataGridViewComboBoxCell而不显示下拉按钮 . Readmore here .

相关问题