Affichage des attributs personnalisés dans Documentum - Webtop
-
21-09-2019 - |
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.
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.
- 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.
- Maintenant, créez une classe qui implémente le ICustomAttributeDataHandler.
- Mettre en œuvre la valeur par défaut les méthodes getRequiredAttributes et getData fonction.
- Dans getRequiredAttributes ajouter des attributs de l'objet que vous êtes recherche.
- 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
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.