起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5201|回复: 38

[结贴] 关于datatables的颜色设置

[复制链接]

15

主题

128

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
QQ
发表于 2016-8-25 11:45:03 | 显示全部楼层 |阅读模式
已经看过文档中心的颜色设置了,但是我的情况有点不一样,直接设置rowattr会把所有的行都设成同一种颜色

现在的情况是,我的datatables关联了一个data,这个data里面有多个重复数据,在action里我已经设置成了重复只显示一个。这是已经做到的(比如我的数据库里面有
1厂 a机器 正常
1厂 b机器 故障
我的datatables只用显示厂,就只显示一个1厂了

我的目的是1厂如果有一个故障,就设成是红的,如果全是正常,就不变色。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2016-8-25 15:48:30 | 显示全部楼层
在dataTables组件的单元格渲染事件onCellRender中设置
用setRowCss (Row row, object css)
设置行的css
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

15

主题

128

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
QQ
 楼主| 发表于 2016-8-25 16:52:35 | 显示全部楼层
数据库里是1厂 a
               1厂 b
               2厂 c
               2厂 d
显示在datatables里的只有1厂
                                   2厂
那我的行是哪一行?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2016-8-25 17:56:47 | 显示全部楼层
onCellRender中自己判断数据符合要求就设置行颜色,不符合就不设置
Model.prototype.dataTables1CellRender = function(event){
    if(event.colName=='sName'){
        if(event.colVal.length >10)
               event.source.setRowCss (event.row,{background:'yellow'})
      
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

15

主题

128

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
QQ
 楼主| 发表于 2016-8-27 10:00:14 | 显示全部楼层
试了一下,仔细想想,这个方法没有解决的可能吧,我变色的依据在于数据库里面的没有显示的另一字段,像下面根据abcd来变颜色,应该是对data动手吧,这个方法怎么可能成功啊。
数据库里是1厂 a
                 1厂 b
                 2厂 c
                 2厂 d
显示在datatables里的只有1厂        
                                          2厂         
回复 支持 反对

使用道具 举报

15

主题

128

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
QQ
 楼主| 发表于 2016-8-27 10:05:29 | 显示全部楼层
if(event.colName=='sName'),取到的都是datatables显示的1厂,2厂了,这个方法没有办法知道对应的abcd啊,不可能达到目的的吧。
我重复一下目的,现在想只要有a的就变色,根据数据库来看,变色的应该是1厂
数据库里是1厂 a
                 1厂 b                     
                 2厂 c
                 2厂 d
显示在datatables里的只有1厂        
                                          2厂
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2016-8-29 10:13:16 | 显示全部楼层
你的data中有a这列吧?
在onCellRender中能取到row
在row中通过row.val("XXX")就可以获取到data上的列值
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

15

主题

128

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
QQ
 楼主| 发表于 2016-8-29 15:53:34 | 显示全部楼层
使用代码Model.prototype.listCellRender = function(event){
     
     if(event.colName=='fSCDY'){
     var a = event.row.val("fDQZT");
     if(a =='b')        
           event.source.setRowCss (event.row,{background:'red'});
                                }
   
    };一开始是get不到 val的值,经检查发现是data里没有 dqzt,这是因为我为了设置其他地方的级联下拉以及重复的不多显示,action设置了和distinct 为true
于是我往select加了dqzt,但是这样又有了问题
                 1厂 a
                 1厂 a                     
                 2厂 a
                 2厂 a
显示在datatables里的只有1厂        
                                     2厂
但是如果变成 1厂 b
                 1厂 a                     
                 2厂 a
                 2厂 a
就会显示成 1厂(红)
                 1厂(不变色)      
                 2厂(不变色)
虽然变色的目的达到了,但是却多了个不变色的原来的,请问如何隐藏
aaa.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2016-8-29 17:12:48 | 显示全部楼层
如果有设置不重复,那就再创建queryAction设置不重复的,两个data的queryAction设置为不同的去控制


远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

15

主题

128

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
QQ
 楼主| 发表于 2016-8-30 09:47:43 | 显示全部楼层
一直都设置为不重复啊,
1厂 a
                 1厂 a                     
                 2厂 a
                 2厂 a
显示在datatables里的只有1厂        
                                     2厂
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-29 02:34 , Processed in 0.117918 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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