Как добавить элемент управления флажок в DataTable? - PullRequest
19 голосов
/ 12 апреля 2011

Как добавить флажок в таблицу данных и связать ее с сеткой данных?

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
}

Пожалуйста, помогите.

Ответы [ 2 ]

44 голосов
/ 12 апреля 2011

Вам потребуется поле (столбец) boolean в DataTable. Когда вы связываете 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 ).

0 голосов
/ 12 апреля 2011

Вы должны указать тип столбца.

ColumnList.Columns.Add("Column Fields", gettype(CheckBox)); 

Но почему вы хотите добавить элемент управления в DataTable?Почему не просто строка или целое число?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...