【问题标题】:Displaying Custom Attributes in Documentum - Webtop在 Documentum 中显示自定义属性 - Webtop
【发布时间】:2009-12-23 17:33:25
【问题描述】:

我正在关注an article,它解释了如何使用 ICustomAttributeDataHandler 类。

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

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

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

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

那篇文章的 cmets 上有人写道:

用户必须调用 "setCustomAttributesInQuery() 方法 在传入的数据提供者上 自定义属性的字符串数组

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

谢谢。

【问题讨论】:

  • 更多细节会有所帮助。您是否将 xml 列配置添加到收件箱组件定义中?出现了什么?你已经尝试过什么?

标签: documentum documentum6.5 webtop


【解决方案1】:

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

用于在 您不需要通过的文档列表 这个复杂的程序。您可以使用 自定义属性数据处理程序 这个。

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

WDK开发中有一节 关于指南 ICustomAttribuetDataHandlers。寻找 主题名为“添加自定义 数据网格的属性”。

我不确定这是否是最终解决方案,但我希望它有所帮助!

【讨论】:

    【解决方案2】:

    回答你关于 setCustomAttributesInQuery() 的问题

    WDK 中的每个数据网格都由底层数据提供程序提供支持。您可以使用以下代码获取此proivder。

    Datagrid datagrid = (Datagrid)getControl("doclist_grid",com.documentum.web.form.control.databound.Datagrid.class);
    DataProvider dp = datagrid.getDataProvider();
    

    完成后,您可以调用

    dp.setCustomAttributesInQuery(myArr);
    

    我实际上不确定这是否是解决您的问题的一部分,但您可以尝试一下,看看它对您有什么帮助。

    【讨论】:

      【解决方案3】:

      您必须配置收件箱组件。

      如果使用经典视图,请转到收件箱列表组件并添加您的自定义属性。

      <column>
          <attribute>CustomAttributeName</attribute>
          <label>Custom Attribute Label</label>
          <visible>true</visible>
      </column>
      

      您的自定义属性必须属于 dmi_queue_item 子类型的自定义类型,因为收件箱列表仅显示 dmi_queue_item 对象。

      希望这会有所帮助,

      问候, 光辉。

      【讨论】:

        【解决方案4】:

        这可能不是问题,但根据您的代码,我无法判断您是否正在这样做:

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

        或者这个:

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

        您应该在 rs 对象实例上调用 setCustomAttributeValue 方法,而不是在接口上。

        【讨论】:

        • 谢谢,但我确实是在对象实例上调用该方法。
        • 你能提供更多代码吗?文章中提供的代码有效......我们现在必须弄清楚你和他们的区别是什么
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-23
        • 2016-03-21
        • 2013-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多