12下一页
发帖
查看: 7426|回复: 11

表格单元格设置

升级   92.67%

15

主题

22

回帖

189

积分

注册会员

Rank: 2

积分
189
发表于 2022-4-23 17:02:42 | 显示全部楼层 |阅读模式
本帖最后由 MINMIN 于 2022-4-23 17:15 编辑

在导入事件中怎么设置表格的单元格样式,导入进去后有值的单元格日期为绿色。






completeLineEdit 事件中是有颜色的 在 一刷新又没有了,点击添加一行前面的颜色设置都没有了。怎么设置

var calendar = this.event.data.calendar;


debugger;

if(calendar ==""){
    this.event.getModule("datatable_datatable$Data_4").node.setStyle("background-color","#F5A9BC");//给节点设置样式
    //field.node.setStyle("font-size","12px");

}else{
     this.event.getModule("datatable_datatable$Data_4").node.setStyle("background-color","#BCF5A9");//给节点设置样式
}






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37517
发表于 2022-4-24 11:04:01 | 显示全部楼层
您可以把脚本写在datatable的afterLoad事件中去
回复

使用道具 举报

升级   92.67%

15

主题

22

回帖

189

积分

注册会员

Rank: 2

积分
189
发表于 2022-4-25 09:14:19 | 显示全部楼层
本帖最后由 MINMIN 于 2022-4-25 09:26 编辑
论坛管理员 发表于 2022-4-24 11:04
您可以把脚本写在datatable的afterLoad事件中去

还是一样没有用,把你们的专业技术展现一下吧
回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37517
发表于 2022-4-25 09:55:40 | 显示全部楼层
MINMIN 发表于 2022-4-25 09:14
还是一样没有用,把你们的专业技术展现一下吧

没有用是指什么?打开就没有效果吗?
首先您写在completeLineEdit事件中,这个是每次编辑完成后点勾的时候会执行的事件,刷新后是不会存在的。
所以需要您在datatable的afterLoad中去做一下,刷新打开时就会有了。
您现在没有效果是不是脚本写法问题呢?
回复

使用道具 举报

升级   92.67%

15

主题

22

回帖

189

积分

注册会员

Rank: 2

积分
189
发表于 2022-4-25 09:58:05 | 显示全部楼层
本帖最后由 MINMIN 于 2022-4-25 17:53 编辑
论坛管理员 发表于 2022-4-25 09:55
没有用是指什么?打开就没有效果吗?
首先您写在completeLineEdit事件中,这个是每次编辑完成后点勾的时 ...
在 datatable 的 afterLoad 事件中怎么获取当前行每个单元格 设置样式。
回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37517
发表于 2022-4-26 09:34:05 | 显示全部楼层
MINMIN 发表于 2022-4-25 09:58
在 datatable 的 afterLoad 事件中怎么获取当前行每个单元格 设置样式。

afterLoad事件里去循环整个数据表格的值,将有值的样式再设置一遍,而不是当前行的。
回复

使用道具 举报

升级   92.67%

15

主题

22

回帖

189

积分

注册会员

Rank: 2

积分
189
发表于 2022-4-26 10:45:38 | 显示全部楼层
本帖最后由 MINMIN 于 2022-4-26 15:22 编辑
论坛管理员 发表于 2022-4-26 09:34
afterLoad事件里去循环整个数据表格的值,将有值的样式再设置一遍,而不是当前行的。 ...

要代码,道理我知道。关键是怎么获取。而且我只是需要 一行里面的有值的单元格设置颜色。



var iten =this.form.get("datatable").data.data;

debugger;

for(var i=0;i<iten.length;i++){
    var calendar = iten.calendar;
    var calendar_1 = iten.calendar_1;
    var calendar_2 = iten.calendar_2;
    var calendar_3 = iten.calendar_3;
    var calendar_4 = iten.calendar_4;
    var calendar_5 = iten.calendar_5;
    var calendar_6 = iten.calendar_6;


    //可以在脚本中获取该组件
    var field = this.form.get("datatable_datatable$Data_4"); //获取组件对象
    field.node.setStyle("background-color","#BCF5A9"); //给节点设置样式

    if(calendar!==""){
    this.form.get("datatable").getModule(iten, "calendar").node.setStyle("background-color","#BCF5A9");//给节点设置样式
    //field.node.setStyle("font-size","12px");

    }else{
    this.form.get("datatable").getModule(iten, "calendar").node.setStyle("background-color","#F5A9BC");//给节点设置样式
    }






     //var e= this.form.get("datatable").getModule(iten, "textfield_9").setStyle("background-color","#F5A9BC");

   也获取不了出错。


beforeLoadLine 中获取出错。

    var field = this.form.get("datatable_datatable$Data_4"); //获取组件对象
    field.node.setStyle("background-color","#BCF5A9"); //给节点设置样式


回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37517
发表于 2022-4-27 09:33:37 | 显示全部楼层
您好,论坛上我们只能给您提供问题的解决办法解决思路,或者您写好的代码我们可以简单帮您查看一下是否有错误。
如果您需要详细的代码提供,建议您购买我们的技术支持服务,技术支持人员能够解答的更仔细,而且响应更快

您获取出错是什么错误,单单一句出错,管理员也不可能准确定位出问题所在的。
回复

使用道具 举报

升级   92.67%

15

主题

22

回帖

189

积分

注册会员

Rank: 2

积分
189
发表于 2022-4-27 14:46:42 | 显示全部楼层
论坛管理员 发表于 2022-4-27 09:33
您好,论坛上我们只能给您提供问题的解决办法解决思路,或者您写好的代码我们可以简单帮您查看一下是否有错 ...

var td3 =this.target.tBody.rows;


    for(var j=1;j<(td3.length)-1;j++){
        var rr = td3[j].childNodes;
        for(var k=1;k<rr.length;k++)
        {
            var text =rr[k].id;

            if(text == "datatable_datatable$Data_4")
            {
                debugger;
                if(calendar =="" ){
                rr[k].bgColor="#F5A9BC";  //给节点设置样式
               
                }else{
                 rr[k].bgColor="#BCF5A9"; //给节点设置样式
               
                }

            }
      }
}

在afterLoad 事件中已经 循环取出td 在给bgColor 赋值  调试值也有,但是在页面是没有颜色显示。
回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37517
发表于 2022-4-28 09:32:47 | 显示全部楼层
您已经获取到了td对象了,那么赋值就是简单的js给td加背景色,这个百度很多样例的,不是我们O2OA特有的写法。
比如td.style.backgroundColor = '#000';就可以,还有很多其他的写法您可以试试。
回复

使用道具 举报

12下一页
发帖

发表回复

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

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread