xclass dsxbrowse Linksklick auf Spaltenkopf Indexsortierung

Moderator: Moderatoren

Antworten
stevie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 417
Registriert: Mo, 17. Sep 2007 18:20
Wohnort: Senftenberg
Kontaktdaten:

xclass dsxbrowse Linksklick auf Spaltenkopf Indexsortierung

Beitrag von stevie »

Hallo,

Ich möchte gern, statt mit einem Rechtsklick auf den Spaltenkopf die Indexsortierung mit einem Linksklick durchführen. Dafür gibt es zwar headerlbup, aber ich will statt mit einem Doppelklick das Ganze mit einem einfachen Linksklick regeln.
Viele Grüße
Stevie
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Stevie,
ich hatte auf meine Anfrage bei DS-Datasoft bezüglich meines anderen Problemes von Marcus eine Antwort bekommen, die mir zwar nicht hilft, aber vielleicht für Dich interessant ist:
Marcus Herz hat geschrieben:Hallo Martin

Nach Spalten umsortieren ist eigentlich ganz einfach:

dbServer := OpenDbServer(...)
dbServer :OrdListAdd(CurDrive() + ":" + quellpfad + "xxx")
dbServer :OrdListAdd(CurDrive() + ":" + quellpfad + "xxxx")

::oBrowse:Connect(dbServer)

::oBrowse:enableSelectIndex(.t.)
::oBrowse:enableSwitchDescend(.t.)

aCol := ::oBrowse:AddColumnDB({;
{"Land", "national"},;
{"PLZ", "plz"},;
{"Ort", "ort"}})

aCol[1]:setindex(1)
aCol[3]:setindex(2)


Jetzt kannst du mit Klick der Maustaste in Splatenübeschrift
umsortieren. Als Suchblock kannst du den internen verwenden.
Das sollte so funktionieren.
Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
stevie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 417
Registriert: Mo, 17. Sep 2007 18:20
Wohnort: Senftenberg
Kontaktdaten:

Beitrag von stevie »

Martin Altmann hat geschrieben:Hallo Stevie,
ich hatte auf meine Anfrage bei DS-Datasoft bezüglich meines anderen Problemes von Marcus eine Antwort bekommen, die mir zwar nicht hilft, aber vielleicht für Dich interessant ist:
Marcus Herz hat geschrieben:Hallo Martin

Nach Spalten umsortieren ist eigentlich ganz einfach:

dbServer := OpenDbServer(...)
dbServer :OrdListAdd(CurDrive() + ":" + quellpfad + "xxx")
dbServer :OrdListAdd(CurDrive() + ":" + quellpfad + "xxxx")

::oBrowse:Connect(dbServer)

::oBrowse:enableSelectIndex(.t.)
::oBrowse:enableSwitchDescend(.t.)

aCol := ::oBrowse:AddColumnDB({;
{"Land", "national"},;
{"PLZ", "plz"},;
{"Ort", "ort"}})

aCol[1]:setindex(1)
aCol[3]:setindex(2)


Jetzt kannst du mit Klick der Maustaste in Splatenübeschrift
umsortieren. Als Suchblock kannst du den internen verwenden.
Das sollte so funktionieren.
Viele Grüße,
Martin
Das geht aber nur mit Rechts oder langem Linksklick.
Zurzeit habe ich eine Funktion auf headerrbdown laufen, die das für rechts regelt.
Bei Xbase wurde das über oCol:heading:lbdown geregelt, aber bei xclass?
Viele Grüße
Stevie
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Stevie,
tut mir leid - habe es ja nicht probiert, da ich es nicht brauche.
Aber XClass++ ist Xbase++ - was unter XBase++ geht, kannst Du genau so auch unter XClass++ machen.
Versuche es doch einfach mal mit dem von Dir genannten oCol:heading:lbdown

Viel Erfolg,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
stevie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 417
Registriert: Mo, 17. Sep 2007 18:20
Wohnort: Senftenberg
Kontaktdaten:

Beitrag von stevie »

Martin Altmann hat geschrieben:Hallo Stevie,
tut mir leid - habe es ja nicht probiert, da ich es nicht brauche.
Aber XClass++ ist Xbase++ - was unter XBase++ geht, kannst Du genau so auch unter XClass++ machen.
Versuche es doch einfach mal mit dem von Dir genannten oCol:heading:lbdown

Viel Erfolg,
Martin
Das stimmt nicht ganz, der dsxbrowse ist eine komplett eigene Klasse, die nicht von xbpbrowse stammt. heading heißt hier header und das lbdown gibt es in dem Spaltenkopfobjekt nicht.
Hab mal den Support angeschrieben.
Viele Grüße
Stevie
J.Renseler
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 151
Registriert: Do, 15. Nov 2007 11:40
Wohnort: Krefeld
Kontaktdaten:

Beitrag von J.Renseler »

Hallo,

so ganz einfach ist das bei dem dsXBrowse nicht. Am einfachsten müsste es sein wenn du das ganze direkt im Sourcecodes des dsXBrowse änderst.

Ansonsten kommst du über die dsXColumn Klasse an das Headerobjekt selber dran.
Dort müsstest du dann einen Codeblock für lbClick hinterlegen können.

Also theoretisch: oCol[1]:header:oXArea:LbClick := {|| MsgBox("Hello World")}

Gruß,
Jannik
Kassensysteme für den Einzelhande http://ab-software.de
Mitglied der XUG-Cologne http://www.xug-cologne.de
stevie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 417
Registriert: Mo, 17. Sep 2007 18:20
Wohnort: Senftenberg
Kontaktdaten:

Beitrag von stevie »

J.Renseler hat geschrieben:Hallo,

so ganz einfach ist das bei dem dsXBrowse nicht. Am einfachsten müsste es sein wenn du das ganze direkt im Sourcecodes des dsXBrowse änderst.

Ansonsten kommst du über die dsXColumn Klasse an das Headerobjekt selber dran.
Dort müsstest du dann einen Codeblock für lbClick hinterlegen können.

Also theoretisch: oCol[1]:header:oXArea:LbClick := {|| MsgBox("Hello World")}

Gruß,
Jannik
oxArea ist natürlich protected
Viele Grüße
Stevie
stevie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 417
Registriert: Mo, 17. Sep 2007 18:20
Wohnort: Senftenberg
Kontaktdaten:

Beitrag von stevie »

Martin Altmann hat geschrieben:Hallo Stevie,
ich hatte auf meine Anfrage bei DS-Datasoft bezüglich meines anderen Problemes von Marcus eine Antwort bekommen, die mir zwar nicht hilft, aber vielleicht für Dich interessant ist:
Marcus Herz hat geschrieben:Hallo Martin

Nach Spalten umsortieren ist eigentlich ganz einfach:

dbServer := OpenDbServer(...)
dbServer :OrdListAdd(CurDrive() + ":" + quellpfad + "xxx")
dbServer :OrdListAdd(CurDrive() + ":" + quellpfad + "xxxx")

::oBrowse:Connect(dbServer)

::oBrowse:enableSelectIndex(.t.)
::oBrowse:enableSwitchDescend(.t.)

aCol := ::oBrowse:AddColumnDB({;
{"Land", "national"},;
{"PLZ", "plz"},;
{"Ort", "ort"}})

aCol[1]:setindex(1)
aCol[3]:setindex(2)


Jetzt kannst du mit Klick der Maustaste in Splatenübeschrift
umsortieren. Als Suchblock kannst du den internen verwenden.
Das sollte so funktionieren.
Viele Grüße,
Martin
Das funktioniert doch so.
Man muss nur vor Initialisierung des Browsers ein
SetBrowseSelectIndex(xbeM_LbUp)
angeben und dann wird der Index auf Linksklick umgeschaltet.
Die Funktion hatte ich vorher später und da klappte das dann eben nicht.
Viele Grüße
Stevie
Antworten