实现表元内容分段信息,不同分段不同颜色

2690
0

大白 小试身手Lv3

发表于2019-12-19 20:02

楼主
效果如图:

需求为: 文字内容为数据库浮动  分段用-分割,(1/4)分段后的分子分母 来判断每个分段文字颜色
分子<>分母绿色;分子为0 红色 ; 分子等于分母 黄色
实现脚本如下:
//浮动表元  GRID2.A2$
var fd=<#=GRID2.A2$#>;
var aa;
var  cellArray;
/**
        设置需要设置的列的表元文字
        cellId:表格名.列
        titleRow:标题行行数
**/

function  setCells(cellId,titleRow){
        for(var i=0;i<fd.length;i++){
                cellArray=$("[id='"+cellId+(i+1+titleRow)+"'] > span").html().split('-');
                //设置每个单元的css
                setHtml(cellArray,cellId,titleRow,i);
        }
}

/**
        方法用来设置每个表元内容 各文字分段颜色
        cellArray:表元文字用-分割做数组
        cellId:传递 表格.列  
        titleRow:标题行
        num:传递表元数组下标
**/
function setHtml(cellArray,cellId,titleRow,num){
var fdHtml='';
for(var i=0;i<cellArray.length;i++){
//分子分母位置
var s1=cellArray.indexOf("\(");
var s2=cellArray.indexOf("\/");
var s3=cellArray.indexOf("\)");
//分子分母的值
var fz=cellArray.substr(s1+1,s2-s1-1);
var fm=cellArray.substr(s2+1,s3-s2-1);

if(fz!=fm&&fz!=0){
  fdHtml+='<font color="lightgreen">'+cellArray+'</font>';
}else if(fz==0){
  fdHtml+='<font color="red">'+cellArray+'</font>';
}else if(fz==fm){
  fdHtml+='<font color="orange">'+cellArray+'</font>';
}
if(i!=cellArray.length-1){
  fdHtml+='-';
}
}
$("[id='"+cellId+(num+1+titleRow)+"'] > span").html(fdHtml);
}


/**
        第一个变量:表格名.列(需要设置的表格列)
        第二个变量:标题行行数
**/
setCells('GRID2.B',1);


最近看过此主题的会员

esen_4YO0F42DH6

esen_4ZJ8RP7VB1

esen_5090Z6CQA3JN

txl

0个回答

只看楼主

登录后可回答问题,请登录注册

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流