1. 没有对象,有LOV真实名称 如 一个itemRevsion 上 object_name的属性值是LOV,它的LOV名称是 h6PorcessName
LOV分别对应的属性如:
显示值 | 真实值 |
SMT | 001 |
SMB | 002 |
获取方法
public String getRealLoveName(String lovName,String displayName)
{
TCComponentListOfValues lov= TCComponentListOfValuesType.findLovByName(lovName);
if(lov.getListOfValues().getRealValues(displayName)!=NULL)
{
return (String)lov.getListOfValues().getRealValue(disPlayValue);
}
return displayName;
}
2.有对象设置LOV属性值:
2.1 LOV属性值是一层属性如上表
方法
参数 displayname是显示名称
参数 prop是你要设置的属性名称 如你要给object_name设置值 就填object_name;
参数 comp 是TC对象;
public static void setLovProPerty(TCSession session , String displayname,String prop,TCComponet comp)
{
try{
String lov=comp.getTCProPerTy(prop).getDescriptor().getLOV().getProperty("lov_name");
String trueName= getRealLoveName(lov,displayname);
if(trueName!=NULL)
{
comp.setProperty(prop,trueName);
}
catch(TCException e)
{
e.prinStackTrace();
}
}
2.2 二级LOV属性
如:
显示值 | 真实值 |
SMT(父级) | 001 |
SMT-T(子集) | 0001 |
SMT-B(子集) | 0002 |
public static void setSubLovProperty(TCSession session,TCComponent comp,String prop, String disply)
{
try{
String lov=comp.getTCProPerTy(prop).getDescriptor().getLOV().getProperty("lov_name");
Object[][] lovValues=getLovDisplayAndTrueValues(session,lov);
for(Object[] lovVals:lovValues)
{
if(lovVals[2]!=NULL)
{
TCComponentListOfValues childLov=(TCComponentListOfValues)lovVals[2];
ListOfValuesInfo lovInfo=childLov.getListofValues();
String[] displayValues=lovInfo.getLOVDisplayValues();
Object[] values=lovInfo.getListofValues();
for(int i=0,len=values.length;i if(display.equals(displayValues[i])){ comp.setProperty(prop,values[i].toString()); return; } } } } }catch(TCException e) { e.prinStackTrace(); } } public static Object[][] getLovDisplayAndTrueValues(TCSession session , String lovName) { try{ TCComponentListOfValuesType type=(TCComponentListOfValuesType) session.getTypeComponet("ListofValues"); TCComponentListOfValues[] tmpcom= type.find(lovName); if(tmpcom.length>0) { ListofValuesInfo lovInfo=tmpcom[0].getListofValues(); String[] displayValues=lovInfo.getLOVDisplayValues(); Object[] values=lovInfo.getListofValues(); TCComponentListOfValues listVals=lovInfo.getListofFilters(); int valueslength =displayValues.length; Object[][] value=new Object[valueslength][3]; for(i=0;i { value[i][0] =displayValues[i]; value[i][1]=values[i].toString(); value[i][2]=listVals[i]; } return value; } } catch(TCException e) { e.prinStackTrace(); } }