Question

Je un article qui explique comment utiliser la classe ICustomAttributeDataHandler .

Je suis en train de créer une colonne personnalisée pour l'écran de la boîte de réception, mais le problème est que la valeur que je mets mon attribut personnalisé n'est pas réfléchi sur l'écran.

En tant que test, je suis en train de changer le nom de la tâche à « Whoknows ». Mais ce code n'est pas EFFECTUER ce qui est sortie à l'écran:

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

(je suis en mesure d'imprimer des lignes de débogage de ma classe personnalisée lorsque la boîte de réception est considérée, donc je sais que mon code est en cours d'exécution.)

Quelqu'un sur les commentaires de cet article a écrit:

  

l'utilisateur doit appeler la   « Méthode setCustomAttributesInQuery ()   le passage dans un dataprovider   tableau de chaînes des attributs personnalisés

... qu'est-ce que Meen? Serait-ce mon problème?

merci.

Était-ce utile?

La solution

Pour être honnête, je l'ai déjà utilisé Webtop, mais comme un utilisateur. J'ai trouvé un poste dans le développeur dm groupe de discussion qui peut être utile , bien que:

  

Pour créer une colonne personnalisée dans la   Liste de documents vous ne besoin de passer par   cette procédure complexe. Vous pouvez utiliser   attribut personnalisé pour datahandlers   cela.

     
      
  1. Tout d'abord dans votre fichier xml liste d'objets composant ajoutez votre colonne personnalisée   définition dans la balise « colonnes ». Toi   peut même ajouter des colonnes statiques au lieu de   les attributs Documentum.
  2.   
  3. Maintenant, créez une classe qui implémente le ICustomAttributeDataHandler.
  4.   
  5. Mettre en œuvre la valeur par défaut les méthodes getRequiredAttributes et getData   fonction.
  6.   
  7. Dans getRequiredAttributes ajouter des attributs de l'objet que vous êtes   recherche.
  8.   
  9. Dans votre méthode getdata récupérer chaque ligne, puis en fonction de la   attribut que vous voyez, juste régler la   valeur que vous voulez. 6) Enfin   définir votre classe dans le fichier app.xml
  10.   
     

Il y a une section dans Developement WDK   Guide concernant   ICustomAttribuetDataHandlers. Chercher   le sujet nommé « Ajout personnalisée   attribue à un DataGrid ».

Je ne suis pas sûr que ce soit la solution finale, mais j'espère que cela aide!

Autres conseils

Pour vous répondre à la question au sujet setCustomAttributesInQuery ()

tous les DataGrid dans WDK est soutenu par un fournisseur de données sous-jacentes. Vous pouvez obtenir ce proivder en utilisant le code suivant.

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

Une fois que vous avez fait cela, vous pouvez appeler

dp.setCustomAttributesInQuery(myArr);

Je ne suis pas vraiment sûr si cela fait partie de la solution à votre problème, mais vous pouvez essayer cela et voir où cela vous arrive.

Vous devez configurer le composant de boîte de réception.

si vous utilisez l'affichage classique, allez à inboxlist composant et ajoutez votre attribut personnalisé.

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

Votre attribut personnalisé doit être dans un type personnalisé qui est un sous-type de dmi_queue_item, car inboxlist ne montre que dmi_queue_item objets.

Hope this helps,

Cordialement, Tejas.

Cela peut être un non-problème, mais en fonction de votre code, je ne peux pas dire si vous faites ceci:

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

ou ceci:

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

Vous devriez appeler la méthode setCustomAttributeValue sur les rs instance d'objet, et non pas sur l'interface.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top