表格单元格设置
本帖最后由 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");//给节点设置样式
}
您可以把脚本写在datatable的afterLoad事件中去 本帖最后由 MINMIN 于 2022-4-25 09:26 编辑
论坛管理员 发表于 2022-4-24 11:04
您可以把脚本写在datatable的afterLoad事件中去
还是一样没有用,把你们的专业技术展现一下吧 MINMIN 发表于 2022-4-25 09:14
还是一样没有用,把你们的专业技术展现一下吧
没有用是指什么?打开就没有效果吗?
首先您写在completeLineEdit事件中,这个是每次编辑完成后点勾的时候会执行的事件,刷新后是不会存在的。
所以需要您在datatable的afterLoad中去做一下,刷新打开时就会有了。
您现在没有效果是不是脚本写法问题呢? 本帖最后由 MINMIN 于 2022-4-25 17:53 编辑
论坛管理员 发表于 2022-4-25 09:55
没有用是指什么?打开就没有效果吗?
首先您写在completeLineEdit事件中,这个是每次编辑完成后点勾的时 ...在 datatable 的 afterLoad 事件中怎么获取当前行每个单元格 设置样式。 MINMIN 发表于 2022-4-25 09:58
在 datatable 的 afterLoad 事件中怎么获取当前行每个单元格 设置样式。
afterLoad事件里去循环整个数据表格的值,将有值的样式再设置一遍,而不是当前行的。 本帖最后由 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"); //给节点设置样式
您好,论坛上我们只能给您提供问题的解决办法解决思路,或者您写好的代码我们可以简单帮您查看一下是否有错误。
如果您需要详细的代码提供,建议您购买我们的技术支持服务,技术支持人员能够解答的更仔细,而且响应更快:)
您获取出错是什么错误,单单一句出错,管理员也不可能准确定位出问题所在的。 论坛管理员 发表于 2022-4-27 09:33
您好,论坛上我们只能给您提供问题的解决办法解决思路,或者您写好的代码我们可以简单帮您查看一下是否有错 ...
var td3 =this.target.tBody.rows;
for(var j=1;j<(td3.length)-1;j++){
var rr = td3.childNodes;
for(var k=1;k<rr.length;k++)
{
var text =rr.id;
if(text == "datatable_datatable$Data_4")
{
debugger;
if(calendar =="" ){
rr.bgColor="#F5A9BC";//给节点设置样式
}else{
rr.bgColor="#BCF5A9"; //给节点设置样式
}
}
}
}
在afterLoad 事件中已经 循环取出td 在给bgColor 赋值调试值也有,但是在页面是没有颜色显示。 您已经获取到了td对象了,那么赋值就是简单的js给td加背景色,这个百度很多样例的,不是我们O2OA特有的写法。
比如td.style.backgroundColor = '#000';就可以,还有很多其他的写法您可以试试。
页:
[1]
2