XbpQuickBrowse, Spalten selektieren

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Udo
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 46
Registriert: Do, 18. Okt 2007 15:37

XbpQuickBrowse, Spalten selektieren

Beitrag von Udo »

Hallo,

zur schnellen Anzeige einer Auswertung, die in einem 2 dimensionalen Arrays (saData) abgelegt ist, verwende ich XbpQuickBrowse.
Dem User soll die Anzeige weiter einschränken (filtern) können.

Zur Anzeige bestimmter Spalten , hatte ich auf den 2. Parameter bei DacPagedDataStore():new() gehofft.
Zunächst zeige ich alle Spalten an ; schreibe dazu alle Spaltennummern in das Array saSpShow -
oBrow:datalink:new( saData, saSpShow) Alles gut.

Dann reduziere ich saSpShow :
mit oBrow:datalink:new( saData, saSpShow) erscheinen links die richtigen Spalten, aber die alte Anzeige bleibt dahinter stehen
mit oDL := DacPagedDataStore():new( saData, saSpShow) und oBrow:setdatalink(oDL) ist aber alles Bestens; die gewünschten Spalten erscheinen, sonst nichts.
So steht auch in der Doku zu XbpQuickBrowse:setDataLink(): "It also configures the browser to the number of columns of the datalink, respectively."

Setze ich aber den Spaltenfilter zurück (oder erhöhe die Anzahl der anzuzeigenden Spalten), bleibt die Anzeige auf die Anzahl
der vorher ausgewählten Spalten beschränkt.
Es kommt mir so vor als müsse ich dem Quickbrowse nur sagen, aktualisiere deinen internen Wert für ColCount...

oBrow:configure() hilft da auch nicht weiter.
Ebenso führen Versuche statt dem Ursprungs Array eine reduzierte Kopie zu verwenden zu analogen Ergebnissen.

Hat jemand einen Tipp für mich ?

Glück Auf!
Udo
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: XbpQuickBrowse, Spalten selektieren

Beitrag von Werner_Bayern »

Servus Udo,

Code: Alles auswählen

aSize := oBrowse:currentSize(), aSize[1]--, oBrowse:setsize(aSize)
nach dem setDataLink?
es grüßt

Werner

<when the music is over, turn off the lights!>
Udo
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 46
Registriert: Do, 18. Okt 2007 15:37

Re: XbpQuickBrowse, Spalten selektieren

Beitrag von Udo »

Hallo Werner,

danke, aber das hat leider keinen Effekt.
Wie schon zuvor, wird nur die Fläche des Browse Fensters neu gezeichnet, die zuvor schon benutzt wurde.

Glück Auf!
Udo
Udo
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 46
Registriert: Do, 18. Okt 2007 15:37

Re: XbpQuickBrowse, Spalten selektieren

Beitrag von Udo »

Hallo,

das Thema ist erledigt.
Werden mit SetdataLink() der ursprünglichen Anzeige Spalten hinzugefügt, berechnet xbpQuickBrowse die Spaltenbreite aus einem Referenzarray, das aus den Daten des ersten Element/der 1.Zeile gebildet wird, berechnet. Sind hier Zellen leer, wird eine Spaltenbreite von 1 errechnet = die Spalten sind nicht zu sehen.

Das kann man mit :setColWidth() nach dem :SetDataLink() heilen.

Glück Auf!
Udo
Antworten