7

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

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

4

1 回答 1

9

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

SELECT This FROM PropertyTemplate WHERE (SymbolicName = 'DocumentTitle')
于 2013-09-12T05:44:08.303 回答