天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 2456|回复: 8

[已解决] 视图行数据根据流程状态变色

[复制链接]
汉唐信息 发表于 2012-6-6 09:36:33 | 显示全部楼层 |阅读模式
本帖最后由 irene 于 2012-6-6 15:39 编辑

如下视图:
1.png
想把状态为“已提交”的数据行,变为黄色。
请问如何实现。
难点在于,视图中没有合适的地方写javascript脚本。
purple 发表于 2012-6-6 09:52:23 | 显示全部楼层
您好,您是想把已提交的数据整行变成黄色吗?如果是,实现方案类似于该帖:http://www.teemlink.com/bbs/view ... hlight=%D1%D5%C9%AB有问题,我们再沟通。
 楼主| 汉唐信息 发表于 2012-6-6 10:42:54 | 显示全部楼层
我想要的是整行,而不是某个单元格
purple 发表于 2012-6-6 11:03:58 | 显示全部楼层
您好,脚本没办法设置整行,您可参考示例,在每个视图列做判断。带来不便,敬请见谅。
 楼主| 汉唐信息 发表于 2012-6-6 11:09:13 | 显示全部楼层
好吧........
 楼主| 汉唐信息 发表于 2012-6-6 15:37:08 | 显示全部楼层
谢谢你的思路,根据你的思路,我进行了一下扩展。分享一下我的方法。
同样是在视图列中嵌入代码.不同的是,我嵌入的是javascript代码,而不是 html
在嵌入代码前,需要了解动态生成的视图代码对应的 静态html。
在浏览器中通过右键查看源代码得知一个重要信息:数据列<td>有一个特点,它的class ="class_th_td"。
得知它后,我们还需要根据我们的需要的状态或者指标进行变色控制。
通过源代码得知的第二个重要信息是:数据作为innerHTML嵌入到td当中。
OK,准备工作完成。
在视图列中嵌入代码:
var val = getItemValueAsString("所属专业");
var col = val+"<script>window.onload = function(){";
col += " var obj =  document.getElementsByTagName('td');" ;
col += " for(var i=0;i<obj.length;i++){ " ;
col += " if(obj[i].className == 'table_th_td' && obj[i].innerHTML.indexOf('汽机') > 0) {obj[i].parentNode.bgColor = 'yellow' ;}" ;
col += " else if(obj[i].className == 'table_th_td' && obj[i].innerHTML.indexOf('除灰') > 0) {obj[i].parentNode.bgColor = 'pink' ;}" ;
col += " }};</script>";
col;
OK,此问题到此结束。
 楼主| 汉唐信息 发表于 2012-6-6 15:37:39 | 显示全部楼层
帖上效果图:
1.jpg
irene 发表于 2012-6-6 15:40:54 | 显示全部楼层
回复 7# 汉唐信息


    谢谢您的分享
purple 发表于 2012-6-6 16:04:21 | 显示全部楼层
.非常感谢您的分享。

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 13:57

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表