Как добавить элемент управления checkbox в datatable?
Как я могу добавить флажок к datatable и привязать его к datagrid?
DataTable ColumnList = new DataTable();
ColumnList.Columns.Add("Column Fields");
int j = 1, i = 0;
CheckBox colCheckbox = new CheckBox();
foreach (Columns col in ColumnNames)
{
colCheckbox.Name = col.ColumnName;
ColumnList.Rows.Add(colCheckbox); // This is getting displayed as System.Windows.Forms.CheckBox,CheckState=0
}
Пожалуйста, помогите.
Ответы
Ответ 1
В DataTable должно быть поле boolean
(столбец). Когда вы привязываете DataTable к DataGridView, для этого поля boolean
будет создан столбец флажка.
Пример кода:
var dt = new DataTable();
dt.Columns.Add(new DataColumn("Selected", typeof(bool))); //this will show checkboxes
dt.Columns.Add(new DataColumn("Text", typeof(string))); //this will show text
var dgv = new DataGridView();
dgv.DataSource = dt;
Это привяжет dt
DataTable к dgv
DataGridView. DataGridView автоматически отобразит DataGridViewCheckBoxColumn для первого DataColumn ( Selected) и DataGridViewTextBoxColumn для второй DataColumn (Text).
Ответ 2
Вы должны указать тип столбца.
ColumnList.Columns.Add("Column Fields", gettype(CheckBox));
Но почему вы хотите добавить элемент управления в DataTable? Почему не просто строка или целое число?