想写个遍历程序,判断数值不符合条件的显示黄色,但 参数 i 在这里没法确定,请老师指教
Tables("教师发放绩效管理窗体_手工统计表").grid.Cols("绩效_手工表计算月数_一般公办" ).Style.Forecolor = Color.black '该列第字体改变颜色
Tables("教师发放绩效管理窗体_手工统计表").grid.Cols("绩效_手工表计算月数_一般公办" ).Style.backcolor = Color.white '该列第背景改变颜色
For Each dr As Row In Tables("教师发放绩效管理窗体_手工统计表").Rows
If dr("绩效_参加指标考核_实际_月数") <> dr("绩效_手工表计算月数_一般公办") Then
Tables("教师发放绩效管理窗体_手工统计表").SetHeaderCellbackColor( "绩效_手工表计算月数_一般公办" ,Color.Yellow, i ")
end if
Next
Tables("教师发放绩效管理窗体_手工统计表").SetHeaderCellbackColor( "绩效_手工表计算月数_一般公办" ,Color.Yellow, i ")
这里 的 i就是指符合条件的行数,但我无法获得这个行数,请老师指教该怎么补充 ?
就是不包括列标题的三层,从第4层开始 ,核对每一行的数据 ,谢谢有点蓝老师 !
SetHeaderCellbackColor是专门用来设置标题行的。如果是普通行只能到drawcell事件处理:
http://www.foxtable.com/webhelp/topics/0656.htm
If e.Col.Name = "绩效_手工表计算月数_一般公办" Then
If e.row("绩效_参加指标考核_实际_月数") <> e.row("绩效_手工表计算月数_一般公办") Then
e.style = "样式1"
end if
End IF
我以前把 正在更新数据的表,改变颜色,提示使用者,这些数据更新了
For Each dc As DataCol In DataTables("兴单位列表").DataCols
Tables("兴单位列表").grid.Cols(dc.name).Style.backcolor = Color.white '该列第背景改变颜色
Next
我就想,能不能对某列来说,改变颜色可以 具体到哪一行 ?
等到使用者点击保存按钮时,再把颜色改为原色
For Each dc As DataCol In DataTables("兴单位列表").DataCols
Tables("兴单位列表").grid.Cols(dc.name).Style.Forecolor = Color.black '该列第字体改变颜色
Tables("兴单位列表").grid.Cols(dc.name).Style.backcolor = Color.white '该列第背景改变颜色
Next
[此贴子已经被作者于2024/12/28 10:49:04编辑过]
不能的。具体到哪一行只能到drawcell事件处理
老师您好:
我恢复颜色,改为白底黑字,结果发现,改变的标题和其他列颜色不同,其他列是系统默认的,比如有点灰的底色,但这里变为纯白了,而且表格线也看不到了
Tables("兴单位列表").SetHeaderCellbackColor( "绩效_手工表计算月数_一般公办" ,Color.white,0 ) '第1行标题白底
Tables("兴单位列表").SetHeaderCellForeColor( "绩效_手工表计算月数_一般公办" ,Color.black,0 ) '第1行字黑色
有点灰的底色,那是默认的控件色:SystemColors.Control
不过有些表格样式是渐变色的,设置了这种样式就没有办法恢复的,只能去掉代码重启项目