我对此的搜索只显示了如何设置datagridview单元格的颜色,无论是格式化,单元格绘制还是数据绑定事件。
我正在尝试使用的代码目前通过cellpainting事件中的datagridview事件args设置cellstyle.backcolor:
Private Sub dgvAncientCode_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles dgvResults.CellPainting
If dgvAncientCode.Columns(e.ColumnIndex).Name = "Blah" Then
e.CellStyle.BackColor = Color.Red
End If
这样做 - 指定的单元格显示为红色 - 但是如何在代码中的其他位置访问此值?当我检查cell.style时,它被设置为默认值,但它在屏幕上显示为红色。
我知道这段代码有很多问题,但我还是比较新的,而且我支持很多遗留的东西,包括你能想到的每一个最差的练习。我确实通过设置cell.style.backcolor而不是e.CellStyle.BackColor来解决这个问题,后者让我可以在以后访问该值,但我也试图了解原始代码发生了什么。我讨厌让事情发挥作用而不理解为什么,主要是因为我知道我可能会遗漏一些重要的东西。
如果不清楚或以前曾被问过,我道歉。我在这里和其他地方搜索了几个小时,所以希望我没有错过它。
编辑以获取更多信息:有一个按钮单击事件,使用for循环遍历datagridview。这用于设置自定义Excel导出类的单元格颜色。这不起作用,因为datagridview中的所有单元格都没有cell.style.backcolor属性的值,即使它们在表单中显示为红色。如果单元格在表单中显示为红色,我应该能够以某种方式访问 - 至少,我认为我应该。
答案 0 :(得分:-1)
尝试其中一项。也许它可以帮到你。 " yourdatagrid.ControlStyle"," yourdatagrid.ItemStyle"。