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