问题标签 [datagridviewcheckboxcell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3144 浏览

c# - DataGridViewCheckboxCell 的背景颜色

我有一个DataGridView对象列表的绑定,并且我正在使用该CellFormatting事件设置动态单元格背景颜色,如this answer中所示。这适用于除DataGridViewCheckboxColumn. 当我在此单元格内部(但在复选框外部)单击时,单元格背景变为默认白色。

尽管我尽最大努力阻止它,但从视觉上看,它似乎正在发生细胞选择。我的单元格格式代码设置SelectionBackColor以及BackColor. 我已经使用该CellStateChanged事件禁用了单元格选择,并且其他列均不可选择:

是否有额外的解决方法来覆盖复选框的单元格行为?

0 投票
4 回答
9123 浏览

c# - 无法选择数据绑定 DataGridView 中的复选框

我有一个运行良好的 DataGridView。我只是用它来显示数据。

现在我希望能够通过复选框选择行并在单击按钮时仅对选定行执行操作(此按钮不在同一表单的网格中)。为此,我按照这些步骤将复选框列添加到 datagridview。

在运行应用程序时看到的是我无法通过鼠标单击或键盘检查该复选框。通过它的外观,我可以理解它不是处于禁用/只读状态。因此,每当我尝试单击复选框时,它通常会像启用的复选框一样更改其边框。但最后它没有选中复选框。

0 投票
5 回答
13307 浏览

c# - DataGridView 更改复选框值后直接更新数据源

我有一个绑定到List<MyObject>.
MyObject 类包含一个布尔属性,该属性绑定到 DataGridView 中的 DataGridViewCheckboxCell。

如果我更改HasCustomValue另一个(只读)属性CurrentValue的值,它的值也会更改。这是通过实现 INotifyPropertyChanged 事件来完成的(为了简单起见,我将那部分留在源示例中)

如果我HasCustomValue从 DataGridView 外部更改,绑定到的列CurrentValue会立即更新。但是,如果用户启用/禁用该复选框,HasCustomValue则在基础数据源中不会更改,除非他通过单击鼠标或按 TAB 键离开该列。

有没有办法在更改复选框值后强制网格直接更新数据源?

如果我绑定一个控件属性,我可以将其设置为DataSourceUpdateModeWindows.Forms.DataSourceUpdateMode.OnPropertyChanged但我在 DataGridView 中没有找到类似的东西

0 投票
9 回答
26498 浏览

c# - 以编程方式取消选中 datagridview 中的复选框列

如何以编程方式取消选中 datagridview 中 DataGridViewCheckboxColumn 中的所有行?

我可以使用获得复选框的正确值

但这只是一个吸气剂。

我尝试使用设置单元格的值

但这不会影响 FormattedValue。

我该如何解决这个问题?

0 投票
2 回答
2809 浏览

c# - Datagridview 复选框列验证

DatagridView我有数据绑定 checkboxcolumns。但是,如果我选中或取消选中多个复选框,则不会保存所有更改。(它不会全部触发属性 Set 方法,可能每 2 次触发一次)。但是,如果我在每次单击复选框后,在下一个复选框之前单击另一个单元格(列),那么所有操作都将触发 Set 方法。因此,似乎单元格验证不是在每个单元格的基础上工作,而是在每列的基础上工作(对于复选框列)。那么你如何解决这个问题呢?

0 投票
1 回答
5616 浏览

vb.net - 在 DataGridView 中检测复选框状态的问题

我在包含复选框列的 .Net 应用程序中有一个 DataGridView 控件。我希望用户能够编辑复选框。我遇到的问题是在用户检查复选框后我无法检测到复选框的状态。

如果复选框最初被选中,那么一旦 DataGridViewCheckBoxCell 获得焦点,它将返回选中状态。但是,如果我再次单击复选框并取消选中它,那么它仍然会返回选中状态。从那时起,无论复选框的实际状态如何,它都将始终返回选中状态,直到它失去焦点并再次获得焦点。

同样,如果复选框最初是未选中的,那么当它获得焦点时,无论复选框的实际状态是什么,它都会在单击事件中返回未选中状态。

这是我的代码。

提前致谢,

麦克风

0 投票
3 回答
1339 浏览

winforms - 如何知道复选框是否被选中

在数据网格视图中,我需要在行上循环并获取包含选中复选框的行 dgv.rows[i].cells[0].value在这两种情况下都返回空所有这一切都发生在事件CellContentClick上

0 投票
2 回答
3732 浏览

c# - 如何立即更新 DataGridViewCheckBoxCell 的值?

DataGridViewCheckBoxCellDataGridView控件中使用 a 。当用户单击复选框时,我会验证某些条件并将其值设置为 false。但是,该复选框保持选中状态,直到用户移动到下一行。我该如何解决这个问题,以便立即更新值

0 投票
3 回答
1537 浏览

c# - C# 导出选定的 DataGridViewCheckBoxCell

我正在尝试仅导出 datagridview 上选定的复选框项目。我当前的代码可以工作,但问题是它导出了所有内容,我可以在导出的 csv 文件中看到 True/False 值,但是对于我来说,我无法弄清楚如何只导出真实值和不是一切。下面列出了示例代码。

数据网格“Selection_Box”上的复选框是 DataGridViewCheckBoxColumn。ExampleExport 只是链接到一个名为“Export”的按钮。当用户在数据网格中选择一个复选框并单击“导出”时,一个 .csv 文件将转储到桌面,其值类似于下面列出的值。

True ,3,1,Piping,Manual,RTD,2,45 Ax,
True ,4,1,Piping,Manual,RTD,2,60 Ax,
True,5,1,Piping,Manual,RTD,1.5,45 C ,
False,6,1,Piping,Manual,RTD,2,45 Axe,
False,8,1,Piping,Manual,RTD,1.5,45 C,
False,29,1,Piping,Manual,RTD,2,45 C,

编辑:感谢您为我指出正确的方向,非常感谢。我最终将 if 语句调整为:

它现在正在转储选定的值。

0 投票
3 回答
6789 浏览

c# - DataGridViewCheckBoxCell 如何在表单加载期间设置时显示已选中

我有一个从 DataTable 加载数据的 DataGridView,以及一个未绑定的 DataGridViewCheckBoxCells 列。DataGridView 中的行将与具有用户保存的值的单独 DataTable 进行比较,如果匹配,则应选中该行的复选框。

这是比较值并将复选框值设置为“true”的代码:

当我在表单加载期间调用该方法执行此操作时private void WQMDrill_Load(object sender, EventArgs e),值设置正确,但复选框未选中。但是,在表单加载完成后调用时,代码可以完美运行。对我来说不幸的是,我绝对需要在加载过程中检查这些。

我希望我对我的问题很清楚,对此问题的任何帮助将不胜感激。如您所见,我试图单独使单元格以及整个 DataGridView 控件无效。我也有

在此期间不会触发。谢谢你。