怎么给扩展单元格上的多个扩展控件

控件赋值后不显示.cpt

图片.png

第一行的开始日期后面单元格所在控件的编辑后事件JS如下:

var a = contentPane.getWidgetsByName("strDate");
var v = this.getValue();
for(var i = 0; i < a.length; i++){
    a[i].setValue(v);
    alert('修改后'+[i]+":" + a[i].getValue());
    }


我要实现的功能是,用户填写1个开始日期,然后所有单位开始日期都赋这个值,有个别单位可能需要修改,所以在扩展单位的开始日期使用了控件strDate。

但是现在alert这个控件,有值,而界面上没有,保存也没有。

请大家帮我看看哪里出错了,怎么修改呗?多谢了!

FineReport 何思洁 发布于 2020-4-29 11:07 (编辑于 2020-4-29 11:50)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
snrtuemcLv8专家互助
发布于2020-4-29 13:28(编辑于 2020-4-29 13:48)

1588132203200053.cpt

请查看模板

123.png

var a = contentPane.getWidgetsByName("strDate");

var v = this.getValue();

var col = col + 1;

var row = row + 1;

for (var i = 0; i < a.length; i++) {

row = row + 1;

contentPane.setCellValue(col, row, v);

}


  • 何思洁 何思洁(提问者) 这个这个太尴尬了,我用的是8.0版本,打不开,能截几张图吗?感激不尽!
    2020-04-29 13:33 
  • snrtuemc snrtuemc 回复 何思洁(提问者) 参看修改答案
    2020-04-29 13:48 
最佳回答
0
浪兔Lv7初级互助
发布于2020-4-29 11:16

模板上传上来。

最佳回答
0
luojian0323Lv7资深互助
发布于2020-4-29 11:23(编辑于 2020-4-29 12:24)

控件值没刷新而已,值已经有了。鼠标点击控件应该会显示日期。



var rq=FR.remoteEvaluate('=format(now(),"yyyy-MM-dd")');

this.setValue(rq);

var location = this.options.location;  //获取当前控件的位置

var k = FR.cellStr2ColumnRow(location);

var co=k.col

var ro=k.row

contentPane.setCellValue(co, ro,rq);


  • 何思洁 何思洁(提问者) 鼠标点击还是没有,因为这些值我要保存的,页面上没有就没法保存了,就算真的点击后能显示出来,也不可能一个一个去点。单位有上百个值。
    2020-04-29 11:40 
  • luojian0323 luojian0323 回复 何思洁(提问者) 日期控件是有点问题,我一般是给单元格也赋值。
    2020-04-29 12:23 
  • 何思洁 何思洁(提问者) 回复 luojian0323 就是你能说的详细一点吗?我把你的JS写在第一行开始日期控件编辑后事件,没反应,初始化,没反应,语句也矛盾啊,给自己赋值rq,再找到自己给自己赋值rq?我想也许你想说这是2段,然后我把前两行写在第一行那个空间,除了JS第2行其他写在扩展空间strDate初始化事件后,结果只有鼠标滑过的日期才会显示,第一个控件没有显示。但这不是我要的结果啊。第一个控件是会变化的,只能写编辑后事件,strDate控件不可能一个一个编辑,初始化事件有要鼠标划一遍,这很奇怪,真的奇怪。能用我的模板做一遍吗?多谢!。
    2020-04-29 13:15 
  • luojian0323 luojian0323 回复 何思洁(提问者) this.setValue()是给控件赋值 contentPane.setCellValue(co, ro,rq)是给当前控件所在的单元格赋值。 不矛盾,有时候控件有值,单元格就是没有值。
    2020-04-29 14:33 
最佳回答
0
何思洁Lv3见习互助
发布于2020-4-29 14:34(编辑于 2020-4-29 14:42)


setValue(v)不适合用于扩展单元格中的控件,应该使用contentPane.setCellValue().模板中多了个[]符号,

2.png

最后使用a.length来表示扩展单元格的数量有时会有错误:当进入页面后鼠标点击了除第一行控件意外的任意地方,a.length就会出现错误。解决方法是公式count()传入参数count,或者使用var count = contentPane.curLGP.getCellValue("");传入循环次数。


  • 3关注人数
  • 775浏览人数
  • 最后回答于:2020-4-29 14:42
    请选择关闭问题的原因
    确定 取消
    返回顶部