Frage

Ich verfolge einem Artikel , die erläutert, wie die ICustomAttributeDataHandler Klasse verwenden .

Ich bin eine benutzerdefinierte Spalte für den Posteingang Bildschirm erstellen, aber das Problem ist, dass der Wert I set für mein benutzerdefiniertes Attribut wird nicht auf dem Bildschirm reflektiert wird.

Als Test Ich ändere den Namen der Aufgabe auf „whoKnows“. Aber dieser Code bewirkt nicht das, was auf dem Bildschirm ausgegeben wird:

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

(Ich kann Debug-Linien aus meiner benutzerdefinierten Klasse drucken, wenn der Posteingang angezeigt wird, so dass ich mein Code wissen wird ausgeführt.)

Jemand auf die Kommentare dieses Artikels schrieb:

  

muss der Benutzer ruft die   „SetCustomAttributesInQuery () Methode   auf dem Datenprovider in einem vorübergehenden   String-Array des benutzerdefinierten Attributs

... was diese meen tut? Könnte dies mein Problem sein?

Dank.

War es hilfreich?

Lösung

Um ehrlich zu sein, habe ich bereits verwendet Webtop, sondern nur als einen Benutzer. Ich fand einen Beitrag in der dm-Entwickler Diskussionsgruppe , die nützlich sein können , aber:

  

Für eine benutzerdefinierte Spalte in der Schaffung   DocList Sie brauchen nicht zu durchlaufen   dieses komplexe Verfahren. Sie können verwenden   benutzerdefinierte Attribut datahandlers für   dies.

     
      
  1. Erste in der Objektliste Komponente XML-Datei Ihre benutzerdefinierte Spalte hinzufügen   Definition im Tag „Spalten“. Sie   kann auch statische Spalten hinzufügen statt   die documentum zuschreibt.
  2.   
  3. Erstellen Sie nun eine Klasse, die implementiert die ICustomAttributeDataHandler.
  4.   
  5. Implementieren Sie die Standard-Methoden getRequiredAttributes und die getData   Funktion.
  6.   
  7. In getRequiredAttributes fügen Attribute des Objekts, dass Sie   suchen.
  8.   
  9. In Ihrer getdata Methode abrufen jede Zeile und dann auf der Grundlage des   Attribut, das Sie sehen, stellen nur die   Wert, den Sie wollen. 6) Schließlich   definieren Sie Ihre Klasse in der app.xml Datei
  10.   
     

Es gibt einen Abschnitt in WDK Entwicklung   Führung in Bezug auf   ICustomAttribuetDataHandlers. Suchen   das Thema namens „Hinzufügen von benutzerdefinierten   Attribute zu einem Datagrid“.

Ich bin mir nicht sicher, ob dies die endgültige Lösung, aber ich hoffe, es hilft!

Andere Tipps

Zur Beantwortung Sie Fragen zu setCustomAttributesInQuery ()

jedes Datagrid in WDK wird von einem zugrunde liegenden Datenprovider unterstützt. Sie können diese proivder erhalten, indem Sie den folgenden Code verwenden.

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

Wenn Sie das getan haben, können Sie anrufen

dp.setCustomAttributesInQuery(myArr);

Ich bin mir nicht wirklich sicher, ob dieser Teil der Lösung für Ihr Problem ist, aber man konnte dies versuchen und sehen, wo es Sie bekommt.

Sie haben die Inbox Komponente zu konfigurieren.

go

, wenn klassische Ansicht verwenden, um inboxlist Komponente und fügen Sie Ihr benutzerdefiniertes Attribut.

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

Ihr individuelles Attribut hat in einem benutzerdefinierten Typ sein, der ein Untertyp von dmi_queue_item ist, weil inboxlist zeigt nur Objekte dmi_queue_item.

Hope, das hilft,

Viele Grüße, Tejas.

Das kann kein Thema sein, aber basierend auf Ihrem Code, kann ich nicht sagen, ob Sie tun dies:

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

oder folgt aus:

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

Sie sollten die setCustomAttributeValue Methode auf der rs Objektinstanz anrufen, nicht auf der Schnittstelle.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top