Browse Header mit Listbox und Sort
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Browse Header mit Listbox und Sort
Hi,
ich habe einen Array Browser, der es zuläßt, Spalten zu sortieren. Jetzt würde ich ganz gerne auch noch Filter über jede Spalte setzen können. Gibt es da evtl. unter express++ eine einfache Möglichkeit im Header einmal einen Sort und zusätzlich noch eine Listbox einzubauen, in der dann entsprechende Filter eingestellt werden können ala. Excel oder OO-Calc? In der Demo habe ich nichts gefunden.
ich habe einen Array Browser, der es zuläßt, Spalten zu sortieren. Jetzt würde ich ganz gerne auch noch Filter über jede Spalte setzen können. Gibt es da evtl. unter express++ eine einfache Möglichkeit im Header einmal einen Sort und zusätzlich noch eine Listbox einzubauen, in der dann entsprechende Filter eingestellt werden können ala. Excel oder OO-Calc? In der Demo habe ich nichts gefunden.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Browse Header mit Listbox und Sort
hm,
also nicht. Schade.
also nicht. Schade.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Browse Header mit Listbox und Sort
Häng einfach in den LbClick- oder LbDblClick- oder sonst einen Slot des Column-Headings, den Du dafür verwenden willst, einen Codeblock, der dann an dieser Stelle ein Popup-Menü mit den Filtermöglichkeiten anzeigt. Und nach einer entsprechenden Auswahl filterst Du eben. Die Anwendungsmöglichkeiten sind zu vielfältig und unterschiedlich, um da einen Standard anzubieten. Es gibt auch viele Möglichkeiten, um ein Array zu "filtern". Denkbar wäre eine Veränderung des Skip-Blocks des Browses, aber einfacher ist es i.d.R., eine Kopie des Arrays anzulegen, das nur die "gefilterten" Elemente enthält.
usw.
Edit: Code korrigiert.
Code: Alles auswählen
DCBROWSECOL ... OBJECT oColumn EVAL {|o|o:Heading:LbDblClick := {||oMeinFilterMenue:Popup(oColumn,{1,1})}}
DCSUBMENU oMeinFilterMenue
DCMENUITEM 'Nur dieser Kunde' PARENT oMeinFilterMenue ACTION {||FilterArray(oBrowse,aArray),DC_GetBrowArray(oBrowse,aArray),oBrowse:RefreshAll()}
Edit: Code korrigiert.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Browse Header mit Listbox und Sort
Hi Tom,
auf die Idee mit dem PopUp Menu bin ich auch vor ca. 30 Minuten gekommen. Ich dachte zu Anfang halt nur an diesen schönen Effekt mit dem Header.
auf die Idee mit dem PopUp Menu bin ich auch vor ca. 30 Minuten gekommen. Ich dachte zu Anfang halt nur an diesen schönen Effekt mit dem Header.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Browse Header mit Listbox und Sort
Hallo, Manfred.
Um das Heading entsprechend zu gestalten, müsstest Du eine eigene XbpCellGroup-Klasse schreiben (bzw. vom Original ableiten), die die Header entsprechend zeichnet und dann auch adäquat reagiert. Das ist keine triviale Aufgabe. Schau Dir einfach mal in _DCXBROW.PRG (..\Source\Dclipx) an, was Roger getan hat, um bei Array-Sortierungen in Browses die kleinen Pfeile (Marlett-Character) anzuzeigen. Dann bekommst Du eine Ahnung.
Um das Heading entsprechend zu gestalten, müsstest Du eine eigene XbpCellGroup-Klasse schreiben (bzw. vom Original ableiten), die die Header entsprechend zeichnet und dann auch adäquat reagiert. Das ist keine triviale Aufgabe. Schau Dir einfach mal in _DCXBROW.PRG (..\Source\Dclipx) an, was Roger getan hat, um bei Array-Sortierungen in Browses die kleinen Pfeile (Marlett-Character) anzuzeigen. Dann bekommst Du eine Ahnung.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Browse Header mit Listbox und Sort
Ah, Danke Tom für den kleinen Hieb auf den Hinterkopf
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Browse Header mit Listbox und Sort
du kannst doch beides haben wenn du:Manfred hat geschrieben:auf die Idee mit dem PopUp Menu bin ich auch vor ca. 30 Minuten gekommen. Ich dachte zu Anfang halt nur an diesen schönen Effekt mit dem Header.
1.) die Position und Grösse des Header (XbpCellGroup) hast
2.) dein Popup "genau" über den Header legst, Popup:Show() und du es dann "aufklappst"
3.) mit Popup:hide() wird es danach "verborgen" und könnte für den "nächsten" Header neu verwendet werden.
gruss by OHR
Jimmy
Jimmy
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Browse Header mit Listbox und Sort
Jimmy hat recht. Im Prinzip könntest Du einfach einen mehrzeiligen Header erzeugen, bei dem Zeile 2 und 3 (oder so) leer bleiben, und in diesen Bereich des Headers eine Listbox packen, ihn also teilweise damit überlagern. Positionierung und Resizing dürften nicht ganz umkompliziert werden, aber prinzipiell ist das machbar. Vermutlich müsstest Du bei der Verwendung von eXpress++ die Listboxen blind bzw. hidden erzeugen und dann in der EVAL-Klausel von DCREAD entsprechend positionieren. Einfacher wäre es, die Listboxen direkt über den Headern anzuzeigen.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Browse Header mit Listbox und Sort
Hm,
das mit den Listboxen über dem Header hatte ich mir auch schon überlegt, aber ich bin mir nicht sicher, wie kompliziert es ist, die Listbox dann der Breite der darunterliegenden Browserspalte anzupassen, wenn diese geändert werden sollte. Und das brauche ich sicherlich.
das mit den Listboxen über dem Header hatte ich mir auch schon überlegt, aber ich bin mir nicht sicher, wie kompliziert es ist, die Listbox dann der Breite der darunterliegenden Browserspalte anzupassen, wenn diese geändert werden sollte. Und das brauche ich sicherlich.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Browse Header mit Listbox und Sort
Dafür müsstest Du Deine eigene Resize-Funktion bauen, die nach Rogers implizitem Resize aufgerufen wird, falls Du mit der AUTORESIZE-Klausel arbeitest. Du müsstest Position und Größe des Browses und die Größen aller Spalten (oBrowse:GetColumn(n):CurrentSize()) abfangen und darauf reagieren. Keine leichte Aufgabe, aber eine schöne, bei der man viel lernen kann.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Browse Header mit Listbox und Sort
Autsch,
ich dachte eigentlich nur an die Breitenänderung durch Doppelklick im Header. An Autoresize, bzw. resize hatte ich noch gar nicht gedacht. Das muß ja auch berücksichtigt werden.....
ich dachte eigentlich nur an die Breitenänderung durch Doppelklick im Header. An Autoresize, bzw. resize hatte ich noch gar nicht gedacht. Das muß ja auch berücksichtigt werden.....
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!