Добавление DataGridViewCheckBoxColumn
Я добавил несколько столбцов в 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-й столбец отображал флажки (строки этого столбца, а не заголовок). Я сделал довольно много поиска и наткнулся на статьи, подобные этой, но показанный там метод только вставил бы новый столбец с флажками.
DataGridViewCheckBoxColumn col = new DataGridViewCheckBoxColumn();
dgvDocDisplay.Columns.Add(col);
Что мне нужно, это добавить столбец флажок в уже существующий столбец. К сожалению, я не смог ничего найти по этому поводу.
Как я могу добавить флажки в существующий столбец?
3 ответа
Если вы добавляете столбцы самостоятельно, почему бы не добавить тип столбца, который вам нужен, когда вы это делаете? Как это:
dgvDocDisplay.Columns.AddRange(
new DataGridViewColumn[]
{
new DataGridViewTextBoxColumn { Name = "Tag" },
new DataGridViewTextBoxColumn { Name = "[ ]" },
new DataGridViewCheckBoxColumn { Name = "#" },
new DataGridViewTextBoxColumn { Name = "Type" }
// etc
});
Вам придется удалить текущий столбец из вашей коллекции и вставить новый столбец нужного типа в этой позиции.
ты можешь использовать grid.RemoveAt(yourindex);
удалять
тогда вы можете вставить желаемый как
grid.Columns.Insert(yourindex, new DataGridViewCheckBoxColumn())
Или вы можете просто использовать grid.Columns.Add(new DataGridViewCheckBoxColumn())
а затем установите DisplayIndex
свойство этого столбца к вашему необходимому индексу.
Ты пытался:
dgvDocDisplay.Columns[2] = new DataGridViewCheckBoxColumn();
?
этот
DataGridViewCheckBoxColumn col = new DataGridViewCheckBoxColumn();
dgvDocDisplay.Columns.Add(col);
действительно добавляет новый столбец, таким образом, Columns.Add()