Teamcenter中如何获取LOV的值和描述?

直接上代码:

 1 /*
 2      * 获取LOV的值和描述/本地化值:key=val,val=描述/本地化值 如果描述没有,则本地化值/值作为描述
 3      */
 4     public static Map<String, String> GetLovValLocalVal(TCSession session,String lovId) {
 5         try {
 6             TcUtilsLovInfo lovinfo = GetLovInfo(session, lovId);
 7             if (lovinfo != null) {
 8                 // 使用LinkedHashMap保证获取的Lov顺序
 9                 Map<String, String> lovs = new LinkedHashMap<String, String>();
10                 for (int i = 0; i < lovinfo.vals.length; i++) {
11                     String key = lovinfo.vals[i];
12                     String val = key;
13                     boolean hasDesc = false;
14                     if (lovinfo.descriptions.length > i) {
15                         // 描述不能为空
16                         if (!lovinfo.descriptions[i].trim().isEmpty()) {
17                             val = lovinfo.descriptions[i];
18                             hasDesc = true;
19                         }
20                     }
21                     if (!hasDesc) {
22                         // 本地化值不能为空
23                         if (!lovinfo.displayNames[i].trim().isEmpty()) {
24                             val = lovinfo.displayNames[i];
25                             hasDesc = true;
26                         }
27                     }
28                     lovs.put(key, val);
29                 }
30                 return lovs;
31             }
32 
33         } catch (Exception ex) {
34             ex.printStackTrace();
35         }
36         return null;
37     }
38 
39     private static TcUtilsLovInfo GetLovInfo(TCSession session, String lovId) {
40         TcUtilsLovInfo lovinfo = null;
41         try {
42             TCComponentListOfValuesType componentType = (TCComponentListOfValuesType) session
43                     .getTypeComponent("ListOfValues");
44             TCComponentListOfValues componentValues[] = componentType
45                     .find(lovId);
46             if (componentValues != null && componentValues.length > 0) {
47                 TCComponentListOfValues compLov = componentValues[0];
48                 ListOfValuesInfo info = compLov.getListOfValues();
49                 String[] values = info.getStringListOfValues();
50                 String[] des = info.getDescriptions();
51                 String[] display = info.getLOVDisplayValues();
52                 String[] fullNames = info.getValuesFullNames();
53                 String[] displayDes = info.getDispDescription();
54 
55                 lovinfo = new TcUtilsLovInfo();
56                 lovinfo.descriptions = des;
57                 lovinfo.fullNames = fullNames;
58                 lovinfo.vals = values;
59                 lovinfo.displayNames = display;
60                 lovinfo.displayDescriptions = displayDes;
61             }
62 
63         } catch (TCException ex) {
64             ex.printStackTrace();
65         }
66         return lovinfo;
67     }

完毕.

转载于:https://www.cnblogs.com/zhoulian/p/9429285.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值