【发布时间】:2012-03-14 13:32:28
【问题描述】:
我有一个绑定到 POCO 对象列表的 DataGridView。 POCO 属性之一是布尔值,由复选框表示。我想要的是能够选择多行,然后当我单击其中一个复选框时,所有突出显示的行都选中了它们的复选框。例如,如果您在 VS 2010 下使用 TFS,我正在尝试复制 Pending Changes 屏幕上的行为。
我的问题是我找不到合适的活动来收听。大多数 DataGridView 单击事件似乎都在列/行级别运行,我想要在您单击复选框时触发的东西。 CellContentClick 是最接近的,但它会在 行被取消选择之后触发,所以这不起作用。
有人有什么建议吗?
【问题讨论】:
-
你的意思是有一个全选复选框吗?
-
不完全。假设您有六行,并且突出显示/选择了 4 行。然后单击其中一个突出显示的行中的复选框,将其状态更改为 Checked。现在应该检查所有四个选定的行,无论它们以前的状态如何。
-
保持简单是我们的政策。当用户在网格中选择行时,为什么不将行数据项的属性值更改为 true。这会将 GUI 更新为绑定控件。
标签: c# winforms datagridview