在 Documentum 中显示自定义属性 - Webtop
-
21-09-2019 - |
题
我正在关注 一篇文章 这解释了如何使用 ICustomAttributeDataHandler 类。
我正在为收件箱屏幕创建自定义列,但问题是我为自定义属性设置的值没有反映在屏幕上。
作为测试,我将任务名称更改为“whoKnows”。但此代码不会影响屏幕上的输出:
ICustomAttributeRecordSet.setCustomAttributeValue(i, "taskName", "whoKnows");
(当查看收件箱时,我可以从自定义类打印调试行,因此我知道我的代码正在运行。)
这篇文章的评论里有人写道:
用户必须在DataProvider上调用“ setCustomatTributesInquery()方法,以自定义属性的字符串数组传递
……这是什么意思?这可能是我的问题吗?
谢谢。
解决方案
说实话,我已经使用过Webtop,但只是作为一个用户。我找到了一个 在 DM 开发者讨论组中发帖 不过,这可能很有用:
对于在Doclist中创建自定义列,您不需要执行此复杂的过程。您可以为此使用自定义属性datahandlers。
- 首先,在对象列表组件XML文件中,在“列”标签中添加自定义列定义。您甚至可以添加静态列而不是documentum属性。
- 现在创建一个实现 ICustomAttributeDataHandler 的类。
- 实现默认方法getRequiredAttributes和getData函数。
- 在GetRequiredAttributes中添加您要寻找的对象的属性。
- 在您的getData方法中,请检索每一行,然后基于看到的属性,只需设置想要的值即可。6)最终在app.xml文件中定义您的类
WDK开发指南中有一个有关Icustomattribuetdatahandlers的部分。查找名为“将自定义属性添加到datagrid”的主题。
我不确定这是否是最终的解决方案,但我希望它有所帮助!
其他提示
要回答你关于setCustomAttributesInQuery问题()
在每WDK数据网格是由基础数据提供支持。您可以通过下面的代码得到这个proivder。
Datagrid datagrid = (Datagrid)getControl("doclist_grid",com.documentum.web.form.control.databound.Datagrid.class);
DataProvider dp = datagrid.getDataProvider();
一旦你做到了这一点,你可以叫
dp.setCustomAttributesInQuery(myArr);
我不真正知道这是解决你的问题的一部分,但你可以试试这个,看看它得到你。
您必须配置收件箱组件。
如果使用经典视图,去inboxlist成分和添加自定义属性。
<column>
<attribute>CustomAttributeName</attribute>
<label>Custom Attribute Label</label>
<visible>true</visible>
</column>
您自定义属性必须是在作为dmi_queue_item的子类型的定制类型,因为inboxlist仅示出dmi_queue_item对象。
希望这有助于,
此致 特加斯。
这可能是一个不是问题的问题,但根据您的代码,如果你正在做这个我不能告诉:
ICustomAttributeRecordSet.setCustomAttributeValue(i, "taskName", "whoKnows");
或这样的:
ICustomAttributeRecordSet rs;
rs.setCustomAttributeValue(i, "taskName", "whoKnows");
您应该调用RS上的setCustomAttributeValue方法对象实例,而不是在接口上。