天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 1578|回复: 9

[已解决] 用Excel导入部门选择框的控件没有显示

[复制链接]
金中软件 发表于 2013-10-15 11:58:10 | 显示全部楼层 |阅读模式
本帖最后由 kimi 于 2013-10-15 20:47 编辑

QQ图片20131015112754.jpg
市县镇村都是对应四个部门选择框的控件,我在excel表格中也是照部门名称输入的:
QQ截图20131015113202.png
但是导入之后视图就是不显示
QQ截图20131015113804.png
我也找过一些帖子,说是数据库中存储的是部门id,
那如果就是用部门选择框控件,Excel导入后如何让视图显示部门名称呢?
是要导入部门的id么?
 楼主| 金中软件 发表于 2013-10-15 12:02:05 | 显示全部楼层
b]回复 1# 金中软件


    QQ截图20131015115941.png
    QQ截图20131015120118.png [
kimi 发表于 2013-10-15 12:20:25 | 显示全部楼层
您好:如果Excel中部门列对应的是部门名称,进入excel导入时您需要先把部门名称转换成部门id,然后再进行导入。
您需要在excel配置列的值脚本中对部门进行转换,类似代码可参考:

  1. var values=getItemValueAsString("部门选择框的字段名");
  2. var docids = splitText(values,";");
  3. var deptids="";
  4. for(var i=0;i<docids.length;i++)
  5. {
  6.        
  7.       var sql="select id ,domain_id,name from T_DEPARTMENT where name='"+docids[i]+"'";
  8.       var datas=queryByDSName("test",sql);
  9.      if(datas!=null && datas.size()>0)
  10.      {

  11.          for(var iter = datas.iterator();iter.hasNext();)
  12.          {
  13.               var doc = iter.next();
  14.               if(doc!=null)
  15.              {

  16.                     deptids+=doc.get("id")+";";
  17.                     
  18.              }
  19.         }
  20.      }
  21. }
  22. deptids=deptids.substr(0,deptids.length-1);
  23. deptids;
复制代码
您先尝试,有问题我们再沟通。
 楼主| 金中软件 发表于 2013-10-15 16:50:51 | 显示全部楼层
回复 3# kimi


    QQ截图20131015164558.png
    按照上面的脚本基本可以实现了,就是在视图中显示,但是表单中部门选择框控件还是显示默认的第一个,而不是我所导入的部门名称,怎么办
    QQ截图20131015164842.png
kimi 发表于 2013-10-15 17:14:03 | 显示全部楼层
您好:您这里是指导入后,导入的数据在视图列显示正常但是进入表单后下拉框的值显示的不正确,而是默认的第一个选项?
 楼主| 金中软件 发表于 2013-10-15 17:36:12 | 显示全部楼层
回复 5# kimi


    是的,就是这个意思
kimi 发表于 2013-10-15 17:39:46 | 显示全部楼层
您好:麻烦让我远程看下您的问题。
 楼主| 金中软件 发表于 2013-10-15 18:30:22 | 显示全部楼层
回复 7# kimi

   经过技术人员的远程,问题已解决,可以关闭帖子
  1. var values1=getItemValueAsString("county1");
  2. println(values1+"==values====");
  3. if(values1.trim().length()<0){
  4. var docids = splitText(values1,";");
  5. var deptids="";
  6. for(var i=0;i<docids.length;i++)
  7. {        
  8. println("222");      
  9. var sql="select id ,domain_id,name from [BsVmsDBMain].[dbo].[T_DEPARTMENT] where name='"+docids[i]+"'";
  10.       var datas=queryByDSName("保山村务 ",sql);
  11.      if(datas!=null && datas.size()>0)
  12.      {
  13.          for(var iter = datas.iterator();iter.hasNext();)
  14.          {
  15.               var doc = iter.next();
  16.               if(doc!=null)
  17.              {
  18.                    values1+=doc.get("id")+";";
  19.              }
  20.         }
  21.      }
  22. }
  23. values1=values1.substr(0,values1.length-1);}
  24. println(values1+"============");
  25. values1;
复制代码
kimi 发表于 2013-10-15 20:47:03 | 显示全部楼层
恩好的,感谢您的反馈。
kimi 发表于 2013-10-15 21:28:25 | 显示全部楼层
您好:您对应部门选择框的值脚本中不需要写代码,我之前给您的代码应该写到Excel配置中的列信息的值脚本中。麻烦请仔细看回复。

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-13 04:29

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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