【问题标题】:Add Checkboxes to DataGridView and check/uncheck them将复选框添加到 DataGridView 并选中/取消选中它们
【发布时间】:2011-12-29 12:16:01
【问题描述】:

我想为DataGridView 中的每一行添加一个复选框。 DataGridView 将被动态填充,当它被填充时,它应该有一个名为“Select”的新列,并且该列应该包含复选框。

我使用了这段代码,但它不起作用。

DataGridViewTextBoxColumn c = new DataGridViewTextBoxColumn();
clsCol1.HeaderText = "Select";
clsCol1.ValueType = typeof(System.String);
this.dataGridView1.Columns.Add(clsCol1);

我也试过这段代码

dataGridView1.Columns.Clear(); DataGridViewCheckBoxColumn c = new DataGridViewCheckBoxColumn();
{
    column.HeaderText = "Selected";
    column.Name = "Selected";
    column.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
    column.FlatStyle = FlatStyle.Standard;
    column.ThreeState = false;
    column.CellTemplate = new DataGridViewCheckBoxCell();
    column.CellTemplate.Style.BackColor = Color.Beige;
}
dataGridView1.Columns.Insert(0, column)

填充DataGridView 后,我想制作两个按钮来选中所有复选框并取消选中所有复选框。

我对 C# 非常缺乏经验,所以任何答案都将不胜感激。

【问题讨论】:

  • 请注意DataGridViewDataGrid 是一个不同 控件。前者旨在取代后者,但两者仍然可用。清楚你使用的是哪一个很重要。
  • 你得到答案了吗?如果你这样做了,请将其标记为答案,如果你自己找到答案,你可以编辑你的帖子来解释你做了什么。如果您仍在寻找解决问题的方法,可以提供更多详细信息。 (您可以针对所有问题执行此操作)

标签: c# .net winforms datagridview checkbox


【解决方案1】:

在CheckBox的CheckChanged event上,需要全选/取消全选

for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
    dataGridView1.Rows[i].Cells["CheckBoxColumnName"].Value = chkSelectAll.Checked;
}

之后,您可能要考虑在取消选中 DataGridView 的一行时取消选中 SelectAll CheckBox

【讨论】:

    猜你喜欢
    • 2022-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-25
    相关资源
    最近更新 更多