我正在关注解释如何使用ICustomAttributeDataHandler类的an article。
我正在为收件箱屏幕创建自定义列,但问题是我为自定义属性设置的值未反映在屏幕上。
作为测试,我将任务名称更改为“whoKnows”。但是这段代码不会影响屏幕上输出的内容:
ICustomAttributeRecordSet.setCustomAttributeValue(i, "taskName", "whoKnows");
(我可以在查看收件箱时从我的自定义类打印调试行,所以我知道我的代码正在运行。)
有人对该文的评论写道:
用户必须致电 “setCustomAttributesInQuery()方法 在数据提供者传递的 自定义属性的字符串数组
......那是什么意思?这可能是我的问题吗?
感谢。
答案 0 :(得分:1)
说实话,我已经使用过Webtop,但只是作为用户。我找到了一个有用的post in the dm developer discussion group:
用于在中创建自定义列 你不需要经历的doclist 这个复杂的程序。您可以使用 自定义属性数据处理程序 此
- 首先在对象列表组件xml文件中添加自定义列 “columns”标签中的定义。您 甚至可以添加静态列而不是 documentum属性。
- 现在创建一个实现ICustomAttributeDataHandler的类。
- 实现默认方法getRequiredAttributes和getData 功能
- 在getRequiredAttributes中添加您所在对象的属性 寻找。
- 在你的getdata方法中检索每一行,然后根据 你看到的属性,只需设置 你想要的价值。 6)最后 在app.xml文件中定义您的类
醇>WDK开发中有一节 关于 ICustomAttribuetDataHandlers。寻找 名为“添加自定义”的主题 属性到数据网格“。
我不确定这是否是最终解决方案,但我希望它有所帮助!
答案 1 :(得分:0)
回答关于setCustomAttributesInQuery()
的问题WDK中的每个数据网格都由底层数据提供程序提供支持。您可以使用以下代码获取此专家。
Datagrid datagrid = (Datagrid)getControl("doclist_grid",com.documentum.web.form.control.databound.Datagrid.class);
DataProvider dp = datagrid.getDataProvider();
完成后,您可以致电
dp.setCustomAttributesInQuery(myArr);
我不确定这是否是您问题解决方案的一部分,但您可以尝试这一点,看看它能从何处找到。
答案 2 :(得分:0)
您必须配置收件箱组件。
如果使用经典视图,请转到收件箱列表组件并添加自定义属性。
<column>
<attribute>CustomAttributeName</attribute>
<label>Custom Attribute Label</label>
<visible>true</visible>
</column>
您的自定义属性必须是自定义类型,该类型是dmi_queue_item的子类型,因为inboxlist仅显示dmi_queue_item对象。
希望这有帮助,
此致 特加斯。
答案 3 :(得分:-1)
这可能不是问题,但根据您的代码,我无法判断您是否这样做:
ICustomAttributeRecordSet.setCustomAttributeValue(i, "taskName", "whoKnows");
或者这个:
ICustomAttributeRecordSet rs;
rs.setCustomAttributeValue(i, "taskName", "whoKnows");
您应该在rs对象实例上调用setCustomAttributeValue方法,而不是在接口上调用。