我使用默认的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 回答
我不建议在点击时更改DataGridView单元格的类型 . 只需使用
particular column
作为DataGridViewComboBoxColumn正常填充DataGridView,然后尝试:当它不处于编辑模式时,将显示DataGridViewComboBoxCell而不显示下拉按钮 . Readmore here .