填报下项目号带下拉列表和带项目说明,下拉列表在f0101,项目说明在f0404

blob.png

FineReport 木子嗯哼 发布于 2019-10-17 13:19
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
qhlLv6中级互助
发布于2019-10-17 13:24

可以在下拉列表的数据字典的SQL里面把项目号和项目说明拼接起来,实际值是项目号,显示值是拼接后的字符串

  • 木子嗯哼 木子嗯哼(提问者) 这个sql的语法有没有
    2019-10-17 13:27 
  • qhl qhl 回复 木子嗯哼(提问者) 你这是什么数据库?
    2019-10-17 13:28 
  • 木子嗯哼 木子嗯哼(提问者) 回复 qhl oracle,select aban8 项目号 from f0101 where abat1=\'v\'
    2019-10-17 13:29 
  • qhl qhl 回复 木子嗯哼(提问者) oracle是用“||”直接拼接,如select 数据库字段1 ||\'-\'||数据库字段2 from 表,mysql用的是concat(数据库字段1 ,\'-\',数据库字段2 )拼接的
    2019-10-17 13:30 
  • 木子嗯哼 木子嗯哼(提问者) 回复 qhl 语法不对,他怎么连接数据库呀
    2019-10-17 13:47 
最佳回答
0
firegunzxLv6高级互助
发布于2019-10-17 13:24(编辑于 2019-10-17 14:18)

下拉框数据字典sql

mysql:select 项目号,CONCAT(项目号,'-',项目名称) from 表

oracle:select 项目号,项目号||'-'||项目名称) from 表



下拉框的数据字典,项目号做实际值,项目说明做显示值

下拉框添加一个编辑后事件,代码

contentPane.setCellValue(col,row-1,this.getText());

在模板web属性,填报页面设置里,添加一个加载后事件,代码

contentPane.on("cellselect", function(td) {    
  var row =contentPane.curLGP.getTDRow(td);   
  var col =contentPane.curLGP.getTDCol(td);  
  window.row=row;  
  window.col=col;  
});

实现效果,下拉选择项目号,项目名称自动填充。


除此之外,也可以用sql()函数取到对应的值

if((len(单元格) = 0), "", sql("数据源", "select 项目名称 from 表 where ID='" + 单元格 + "'", 1, 1))

image.png

image.png


  • 3关注人数
  • 298浏览人数
  • 最后回答于:2019-10-17 14:18
    请选择关闭问题的原因
    确定 取消
    返回顶部