2

ICustomAttributeDataHandlerクラスの使用方法を説明する記事をフォローしています。

受信トレイ画面のカスタム列を作成していますが、問題は、カスタム属性に設定した値が画面に反映されていないことです。

テストとして、タスク名を「whoKnows」に変更します。ただし、このコードは画面に出力される内容には影響しません。

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

(受信トレイを表示すると、カスタムクラスからデバッグ行を出力できるため、コードが実行されていることがわかります。)

その記事のコメントに関する誰かが書いた:

ユーザーは、カスタム属性の文字列配列を渡すデータプロバイダーで「setCustomAttributesInQuery()メソッド」を呼び出す必要があります

...それはどういう意味ですか?これは私の問題でしょうか?

ありがとう。

4

4 に答える 4

1

正直なところ、私はすでにWebtopを使用していますが、ユーザーとして使用しています。ただし、dm開発者ディスカッショングループで役立つ投稿を見つけました。

doclistにカスタム列を作成するために、この複雑な手順を実行する必要はありません。これには、カスタム属性データハンドラーを使用できます。

  1. まず、オブジェクトリストコンポーネントのxmlファイルで、「columns」タグにカスタム列定義を追加します。documentum属性の代わりに静的列を追加することもできます。
  2. 次に、ICustomAttributeDataHandlerを実装するクラスを作成します。
  3. デフォルトのメソッドgetRequiredAttributesとgetData関数を実装します。
  4. getRequiredAttributesで、探しているオブジェクトの属性を追加します。
  5. getdataメソッドで各行を取得し、表示された属性に基づいて、必要な値を設定するだけです。6)最後にapp.xmlファイルでクラスを定義します

ICustomAttribuetDataHandlersに関するセクションがWDK開発ガイドにあります。「データグリッドへのカスタム属性の追加」という名前のトピックを探します。

これが最終的な解決策かどうかはわかりませんが、お役に立てば幸いです。

于 2009-12-29T16:59:57.103 に答える
0

setCustomAttributesInQuery()に関する質問に答えるには

WDKのすべてのデータグリッドは、基盤となるデータプロバイダーによってサポートされています。このプロバイダーは、次のコードを使用して取得できます。

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

それが済んだら、電話をかけることができます

dp.setCustomAttributesInQuery(myArr);

これがあなたの問題の解決策の一部であるかどうかは実際にはわかりませんが、これを試して、どこに到達するかを確認することができます。

于 2010-01-13T17:16:44.910 に答える
0

受信トレイ コンポーネントを構成する必要があります。

クラシック ビューを使用している場合は、inboxlist コンポーネントに移動し、カスタム属性を追加します。

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

inboxlist には dmi_queue_item オブジェクトのみが表示されるため、カスタム属性は dmi_queue_item のサブタイプであるカスタム タイプに含まれている必要があります。

お役に立てれば、

よろしく、テジャス。

于 2010-02-05T09:17:45.333 に答える
-1

This may be a non-issue, but based on your code, I can't tell if you're doing this:

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

or this:

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

You should be calling the setCustomAttributeValue method on the rs object instance, not on the interface.

于 2010-01-03T23:35:32.510 に答える