Мне потребовалось много времени, чтобы понять, как это сделать, не просматривая все записи. У меня есть связанный datagridview-source, и все поля связаны, кроме флажка-столбца. Таким образом, у меня нет / нужен цикл для добавления каждой строки, и я не хотел создавать один только для этой цели. Так что после долгих попыток я наконец-то понял. И на самом деле это тоже очень просто:
Сначала вы добавляете новый файл .cs в ваш проект с ячейкой для пользовательского флажка, например,
DataGridViewCheckboxCellFilter.cs:
using System.Windows.Forms;
namespace MyNamespace {
public class DataGridViewCheckboxCellFilter : DataGridViewCheckBoxCell {
public DataGridViewCheckboxCellFilter() : base() {
this.FalseValue = 0;
this.TrueValue = 1;
this.Value = TrueValue;
}
}
}
После этого в вашем GridView, куда вы добавляете флажок-столбец, вы делаете:
// add checkboxes
DataGridViewCheckBoxColumn col_chkbox = new DataGridViewCheckBoxColumn();
{
col_chkbox.HeaderText = "X";
col_chkbox.Name = "checked";
col_chkbox.CellTemplate = new DataGridViewCheckboxCellFilter();
}
this.Columns.Add(col_chkbox);
И это все! Каждый раз, когда ваши флажки добавляются в новую строку, они будут установлены в true.
Наслаждайтесь!