本帖最后由 hessen 于 2020-2-18 11:23 编辑
简单方法见三楼
快表中每个用户都可以自定义系统的主题皮肤色彩,而这可能与模板中给单元格设置的背景色不一致,出现不协调的问题。本帖提供的即是解决这一问题的方法。
适用版本企业版、标准版
问题:
默认的模版色彩。
而如果主题皮肤不是深蓝色的话那么就是下面的情况了。
这样看起来就不协调了。
希望上面的标题与明细表标题背景色能与用户所选择的系统皮肤色彩联动变化,当用户更换主题皮肤后,模版的背景色也随之变化。
方法:
1、进入模板设计状态,给X1,Y1,Z1单元格分别添加别名USERSKIN_R,USERSKIN_G,USERSKIN_B (这里不一定非得是X1,Y1,Z1这三个单元格,可以是其他的单元格)
2、添加命令树。如下图:
单元格取值(X1,0,0,#USERSKIN_R)
单元格取值(Y1,0,0,#USERSKIN_G)
单元格取值(Z1,0,0,#USERSKIN_B)
设置单元格背景(B2:J2,#USERSKIN_R,#USERSKIN_G,#USERSKIN_B)
设置单元格背景(B8:C8,#USERSKIN_R,#USERSKIN_G,#USERSKIN_B)
上面的X1、Y1、Z1为第一步添加别名的单元格,设置单元格背景中的B2:J2为会变换背景的单元格地址,改为你自己的就好,多个地址就写多条设置单元格背景命令。其他均不变。
3、添加表间提取公式 按照下图完全不用改动
公式类型为提取,执行时机为填报、修改、查阅。
不用选择来源
开启SQL将下面的公式复制粘贴进去不用改动。
- WITH C AS(
- SELECT USERNAME
- , CASE WHEN SKIN IS NULL THEN
- (SELECT RIGHT(LEFT(TITLE, CHARINDEX('|', TITLE, 1) - 1) ,LEN(LEFT(TITLE, CHARINDEX('|', TITLE, 1) - 1)) - CHARINDEX(',', TITLE, 1) )
- FROM SYS_BASIS WHERE ID = '13')
- ELSE
- RIGHT(LEFT(SKIN, CHARINDEX('|', SKIN, 1) - 1) ,LEN(LEFT(SKIN, CHARINDEX('|', SKIN, 1) - 1)) - CHARINDEX(',', SKIN, 1) )
- END AS USERSKIN
- FROM SYS_USER )
- SELECT
- LEFT(USERSKIN,CHARINDEX(',',USERSKIN,1)-1) AS USERSKIN_RxFN
- ,SUBSTRING(USERSKIN,CHARINDEX(',',USERSKIN,1)+1,LEN(USERSKIN)-CHARINDEX(',',USERSKIN)-CHARINDEX(',',REVERSE(USERSKIN),1)) AS USERSKIN_GxFN
- ,RIGHT(USERSKIN,CHARINDEX(',',REVERSE(USERSKIN),1)-1) AS USERSKIN_BxFN
- FROM C
- WHERE USERNAME = #当前用户姓名
复制代码 4、测试填报
变更一个皮肤色彩
测试填报后效果如下:
如果您还是不会,可以联系我协助您。
|
|
hessen