我已经通过代码向DataGridView添加了一堆列。
dgvDocDisplay.ColumnCount = 22;
dgvDocDisplay.Columns[0].Name = "Tag";
dgvDocDisplay.Columns[1].Name = "[ ]";
dgvDocDisplay.Columns[2].Name = "#";
dgvDocDisplay.Columns[3].Name = "Type";
dgvDocDisplay.Columns[4].Name = "Reference";
现在我想制作第3列显示复选框(该列的行,而不是标题)。我做了很多搜索,遇到过像this这样的文章,但是那里显示的方法只会插入带有复选框的 new 列。
DataGridViewCheckBoxColumn col = new DataGridViewCheckBoxColumn();
dgvDocDisplay.Columns.Add(col);
我需要的是将复选框列添加到现有列。不幸的是我找不到任何相关的东西。
如何将复选框添加到现有列?
答案 0 :(得分:3)
如果您自己添加列,为什么不在添加列时添加所需的列类型?像这样:
dgvDocDisplay.Columns.AddRange(
new DataGridViewColumn[]
{
new DataGridViewTextBoxColumn { Name = "Tag" },
new DataGridViewTextBoxColumn { Name = "[ ]" },
new DataGridViewCheckBoxColumn { Name = "#" },
new DataGridViewTextBoxColumn { Name = "Type" }
// etc
});
答案 1 :(得分:1)
您必须从集合中删除当前列,然后在该位置推入所需类型的新列。
您可以使用grid.RemoveAt(yourindex);
删除
然后您可以插入所需的
grid.Columns.Insert(yourindex, new DataGridViewCheckBoxColumn())
或者您可以只使用grid.Columns.Add(new DataGridViewCheckBoxColumn())
,然后将此列的DisplayIndex
属性设置为您需要的索引。
答案 2 :(得分:0)
你试过了吗?
dgvDocDisplay.Columns[2] = new DataGridViewCheckBoxColumn();
这个
DataGridViewCheckBoxColumn col = new DataGridViewCheckBoxColumn();
dgvDocDisplay.Columns.Add(col);
确实添加了一个新列,因此Columns.Add()