在Documentum中显示自定义属性 - Webtop

时间:2009-12-23 17:33:26

标签: documentum documentum6.5 webtop

我正在关注解释如何使用ICustomAttributeDataHandler类的an article

我正在为收件箱屏幕创建自定义列,但问题是我为自定义属性设置的值未反映在屏幕上。

作为测试,我将任务名称更改为“whoKnows”。但是这段代码不会影响屏幕上输出的内容:

ICustomAttributeRecordSet.setCustomAttributeValue(i, "taskName", "whoKnows");

(我可以在查看收件箱时从我的自定义类打印调试行,所以我知道我的代码正在运行。)

有人对该文的评论写道:

  

用户必须致电   “setCustomAttributesInQuery()方法   在数据提供者传递的   自定义属性的字符串数组

......那是什么意思?这可能是我的问题吗?

感谢。

4 个答案:

答案 0 :(得分:1)

说实话,我已经使用过Webtop,但只是作为用户。我找到了一个有用的post in the dm developer discussion group

  

用于在中创建自定义列   你不需要经历的doclist   这个复杂的程序。您可以使用   自定义属性数据处理程序   此

     
      
  1. 首先在对象列表组件xml文件中添加自定义列   “columns”标签中的定义。您   甚至可以添加静态列而不是   documentum属性。
  2.   
  3. 现在创建一个实现ICustomAttributeDataHandler的类。
  4.   
  5. 实现默认方法getRequiredAttributes和getData   功能
  6.   
  7. 在getRequiredAttributes中添加您所在对象的属性   寻找。
  8.   
  9. 在你的getdata方法中检索每一行,然后根据   你看到的属性,只需设置   你想要的价值。 6)最后   在app.xml文件中定义您的类
  10.         

    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方法,而不是在接口上调用。