web-dev-qa-db-fra.com

Comment ajouter un contrôle de case à cocher à une table de données?

Comment puis-je ajouter une case à cocher à une table de données et la lier à une grille de données?

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
}

Veuillez aider.

19
NewBie

Vous devrez avoir un champ boolean (colonne) dans le DataTable. Lorsque vous liez le DataTable au DataGridView, une colonne de case à cocher sera créée pour ce champ boolean.

Exemple de code:

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;

Cela liera le dt DataTable au dgv DataGridView. Le DataGridView affichera automatiquement un DataGridViewCheckBoxColumn pour le premier DataColumn ( Selected) et un DataGridViewTextBoxColumn pour le deuxième DataColumn ( Text ).

45
Alex Essilfie