Visualizzazione Attributi personalizzati in Documentum - Webtop
-
21-09-2019 - |
Domanda
un articolo che spiega come utilizzare la classe ICustomAttributeDataHandler .
Sto creando una colonna personalizzata per il grande schermo casella di posta, ma il problema è che il valore ho impostato la mia attributo personalizzato non viene riflessa sullo schermo.
Come prova Sto cambiando il nome compito di "whoKnows". Ma questo codice non sta effettuando ciò che viene emesso sullo schermo:
ICustomAttributeRecordSet.setCustomAttributeValue(i, "taskName", "whoKnows");
(io sono in grado di stampare linee di debug dalla mia classe personalizzata quando la casella di posta è visto, quindi so che il mio codice viene eseguito.)
Qualcuno sui commenti di questo articolo ha scritto:
l'utente deve chiamare il Metodo "setCustomAttributesInQuery () sulla dataprovider passando un array di stringhe degli attributi personalizzati
... che cosa fa quel meen? Questo potrebbe essere il mio problema?
Grazie.
Soluzione
Per essere onesto, ho già utilizzato Webtop, ma solo come un utente. Ho trovato un postale nel gruppo di discussione dm sviluppatore che può essere utile , però:
Per la creazione di una colonna personalizzata in Elenco documenti non avete bisogno di passare attraverso questo complesso procedure. Puoi usare attributo personalizzato datahandlers per questo.
- In primo luogo nella lista degli oggetti file XML componente aggiungere la tua colonna personalizzata Definizione nel tag "colonne". voi può anche aggiungere colonne statici anziché attributi Documentum.
- Ora creare una classe che implementa l'ICustomAttributeDataHandler.
- Attuare il default i metodi getRequiredAttributes e il getData la funzione.
- In getRequiredAttributes aggiungere attributi dell'oggetto che si sta cercando.
- Nel vostro metodo GetData recuperare ogni riga e poi in base alla attributo che si vede, basta impostare la valore che si desidera. 6) Infine definire la classe nel file app.xml
C'è una sezione in WDK sviluppo guida per quanto riguarda ICustomAttribuetDataHandlers. Cercare l'argomento denominato "Aggiunta personalizzato attribuisce ad un datagrid".
Non sono sicuro se questa è la soluzione finale, ma spero che aiuta!
Altri suggerimenti
Per rispondergli domanda su setCustomAttributesInQuery ()
ogni DataGrid in WDK è sostenuta da un provider di dati sottostante. È possibile ottenere questo proivder utilizzando il seguente codice.
Datagrid datagrid = (Datagrid)getControl("doclist_grid",com.documentum.web.form.control.databound.Datagrid.class);
DataProvider dp = datagrid.getDataProvider();
Una volta fatto questo, è possibile chiamare
dp.setCustomAttributesInQuery(myArr);
Non sono realmente sicuro se questo è parte della soluzione al vostro problema, ma si potrebbe provare questo e vedere dove si arriva.
È necessario configurare il componente casella di posta.
se si utilizza la visualizzazione classica, andare a inboxlist componente e aggiungere l'attributo personalizzato.
<column>
<attribute>CustomAttributeName</attribute>
<label>Custom Attribute Label</label>
<visible>true</visible>
</column>
Il tuo attributo personalizzato deve essere in un tipo personalizzato che è un tipo di sub dmi_queue_item, perché inboxlist mostra solo dmi_queue_item oggetti.
Spero che questo aiuti,
Saluti, Tejas.
Questo può essere un non-problema, ma in base al codice, non posso dire se si sta facendo questo:
ICustomAttributeRecordSet.setCustomAttributeValue(i, "taskName", "whoKnows");
o questo:
ICustomAttributeRecordSet rs;
rs.setCustomAttributeValue(i, "taskName", "whoKnows");
Si dovrebbe essere chiamando il metodo setCustomAttributeValue sulle RS oggetto esempio, non sull'interfaccia.