我知道的唯一方法是遍历对象库的属性模板,并通过将符号名称与某些String进行比较来找到我需要的一种:

String propertySymName = "someName";
ObjectStore os = Factory.ObjectStore.fetchInstance(...); //assume object store is fetched correctly

String[] properties = {PropertyNames.PROPERTY_TEMPLATES};
os.fetchProperties(properties);
PropertyTemplateSet propertyTemplates = os.get_PropertyTemplates();
Iterator<?> iterator = propertyTemplates.iterator();
while (iterator.hasNext()) {
    PropertyTemplate propertyTemplate = (PropertyTemplate) iterator.next();
    String[] arg = {PropertyNames.SYMBOLIC_NAME};
    propertyTemplate.refresh(arg);
    if (propertyTemplate.get_SymbolicName().equals(propertySymName)) {
       //do some stuff
    }

}


但是,如果对象存储具有大量的属性模板,则速度可能会很慢。有任何想法吗?
我正在使用CE API 5.1

最佳答案

您可以通过符号名称进行搜索:

SELECT This FROM PropertyTemplate WHERE (SymbolicName = 'DocumentTitle')

09-10 07:12
查看更多