答案 0 :(得分:2)
对于每个Datagrid列,将其“可见性”属性绑定到相应复选框的“ IsChecked”属性。
在绑定中将转换器设置为使用BooleanToVisibilityConverter。
(此解决方案假定您正在使用WPF ...)
答案 1 :(得分:2)
对于Windows窗体:
您可以通过DataGridViewColumn
属性为每个DataGridViewColumn.Visible
指定可见性,例如:
dataGridView1.Columns["nameOfColumnThatShouldBeInvisible"].Visible = checkBox1.Checked;
此外,当确定是否显示某些列的复选框被选中/未选中时,您可能想引发重新绑定:
checkBox1.CheckedChanged += new EventHandler(checkBox1_CheckedChanged);
public void checkBox1_CheckedChanged(Object sender, EventArgs e)
{
dataGridView1.Columns["nameOfColumnThatShouldBeInvisible"].Visible = checkBox1.Checked;
//rebind dataGridView1 so as to show/hide column for clicked checkbox
}