以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 根据条件设置单位元颜色 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194615) |
-- 作者:zhangchi96 -- 发布时间:2024/12/27 23:03:00 -- 根据条件设置单位元颜色 想写个遍历程序,判断数值不符合条件的显示黄色,但 参数 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
|
-- 作者:有点蓝 -- 发布时间:2024/12/28 8:53:00 -- 参数 i 哪来的?贴出完整代码 |
-- 作者:zhangchi96 -- 发布时间:2024/12/28 9:09:00 -- Tables("教师发放绩效管理窗体_手工统计表").SetHeaderCellbackColor( "绩效_手工表计算月数_一般公办" ,Color.Yellow, i ") 这里 的 i就是指符合条件的行数,但我无法获得这个行数,请老师指教该怎么补充 ? |
-- 作者:有点蓝 -- 发布时间:2024/12/28 9:31:00 -- 列标题有3层,要设置哪一层? |
-- 作者:zhangchi96 -- 发布时间:2024/12/28 9:48:00 -- 就是不包括列标题的三层,从第4层开始 ,核对每一行的数据 ,谢谢有点蓝老师 ! |
-- 作者:有点蓝 -- 发布时间:2024/12/28 10:40:00 -- 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 |
-- 作者:zhangchi96 -- 发布时间:2024/12/28 10:48:00 -- 我以前把 正在更新数据的表,改变颜色,提示使用者,这些数据更新了 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编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/12/28 11:32:00 -- 不能的。具体到哪一行只能到drawcell事件处理 |
-- 作者:zhangchi96 -- 发布时间:2024/12/28 11:32:00 -- 老师您好: 我恢复颜色,改为白底黑字,结果发现,改变的标题和其他列颜色不同,其他列是系统默认的,比如有点灰的底色,但这里变为纯白了,而且表格线也看不到了 Tables("兴单位列表").SetHeaderCellbackColor( "绩效_手工表计算月数_一般公办" ,Color.white,0 ) \'第1行标题白底 Tables("兴单位列表").SetHeaderCellForeColor( "绩效_手工表计算月数_一般公办" ,Color.black,0 ) \'第1行字黑色
|
-- 作者:有点蓝 -- 发布时间:2024/12/28 11:43:00 -- 有点灰的底色,那是默认的控件色:SystemColors.Control 不过有些表格样式是渐变色的,设置了这种样式就没有办法恢复的,只能去掉代码重启项目
|