【发布时间】:2017-09-21 08:50:05
【问题描述】:
我的应用中有一个 datagridview,其中列出了活动作业。 其中一列有一个状态码 (0-5),行颜色取决于这个值,像这样......
joblist.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Aquamarine
joblist.Rows(e.RowIndex).DefaultCellStyle.ForeColor = Color.Black
如果状态码为 0,则不应用颜色。
这个位大部分工作正常,但我发现如果它到达几个状态为 0 的作业,这些作业会呈现最后一个状态为 1-5 的作业的颜色。
我可以通过添加...来解决这个问题
elseif status=0 then
joblist.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Aquamarine
joblist.Rows(e.RowIndex).DefaultCellStyle.ForeColor = Color.Black
end if
但是,这会消除我的替代行颜色,所以如果有一块白色的,它们就会变得难以阅读。
有什么办法可以说...
if status=0 then
joblist.Rows(e.RowIndex).DefaultCellStyle.BackColor = DefaultCellStyle.BackColor
joblist.Rows(e.RowIndex).DefaultCellStyle.ForeColor = DefaultCellStyle.BackColor
...或其他什么,基本上将相关行返回为默认或替代默认样式?
【问题讨论】:
-
为了更好地帮助我们重现您看到的问题,请显示实际更改所有状态代码颜色的逻辑 - 包括该逻辑所在的方法。
标签: .net vb.net datagridview formatting