Wie scrolle ich ein Grid-Control (auf einem Basic-Dialog) per Code?

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Wie scrolle ich ein Grid-Control (auf einem Basic-Dialog) per Code?

Re: Wie scrolle ich ein Grid-Control (auf einem Basic-Dialog) per Code?

von Toxitom » Do, 07.09.2017 10:22

Danke für den Hinweis.
auf Deiner Seite, ist die Beispieldatei nicht erreichbar:
http://www.mic-consulting.de/de/artikel ... ridDlg.ods
geht jetzt:)

Re: Wie scrolle ich ein Grid-Control (auf einem Basic-Dialog) per Code?

von Stephan » Mi, 06.09.2017 22:52

die Methode: gotoCell(Spaltenindex, Rowindex)
hatte ich gestern bereits in der IDL-Referenz gefunden und las sich gut, aber funktionierte scheinbar nicht.
In dem Fall erst mal ne niedrigere wählen (z.b. 10) - dann wieder zurück;)
In der Tat, das klappt. Danke.

Ich verstehe jetzt garnicht, warum ich das gestern nicht probiert hatte, aber ich war der festen Überzeugung mit gc.gotoCell(0, 5) müsste die 5. Zeile in erste Position gescrollt werden (an den oberen Rand des Grid). Ich habe, jetzt im Nachhinein, keine Ahnung wie ich darauf kam, denn in der IDL-Referenz steht das garnicht, sondern nur: "moves the cursor to the given cell".


btw.:
auf Deiner Seite, ist die Beispieldatei nicht erreichbar:
http://www.mic-consulting.de/de/artikel ... ridDlg.ods



Gruß
Stephan

Re: Wie scrolle ich ein Grid-Control (auf einem Basic-Dialog) per Code?

von Toxitom » Mi, 06.09.2017 19:47

Hey Stefan,

hmm, eigentlich gar nicht so schwierig;))

die Methode: gotoCell(Spaltenindex, Rowindex) - diese Zelle wird dann als erste im Grid angezeigt.

Für Dein Beispiel:

Code: Alles auswählen

Sub markieren()
	'hier wir die k-Zeile markiert:
	gc = oDialogControl.getControl("MyGrid")
	gc.selectRow(5)
	gc.gotoCell(0, 5)    '<-- setzt die 5. Zeile als erste im Display, ebenso die erste Spalte.
End Sub
Falls sie nicht sichtbar ist!

Ist sie eh noch im Display, wird nicht gescrollt. In dem Fall erst mal ne niedrigere wählen (z.b. 10) - dann wieder zurück;)

Viele Grüße
Tom

Wie scrolle ich ein Grid-Control (auf einem Basic-Dialog) per Code?

von Stephan » Mi, 06.09.2017 01:32

Hallo,

ich muss in einem Grid-Control (mit langer Datenliste) einige Zeilen per Code markieren. Weil dabei u.U. für den Anwender garkeine Markierung direkt sichtbar wird (nämlich dann wenn das Grid zufällig so gescrollt ist das keine der zu markierenden Zeilen im sichtbaren Bereich liegt) würde ich gerne, nach der Markierung, das Grid per Code so scrollen das die oberste markierte Zeile am oberen Rand des Grids liegt.

Ich finde nix dazu.

Hat jemand eine Lösung?


Beispieldatei hängt an.


Gruß
Stephan
Dateianhänge
Beispiel_GridControl.ods
(11.77 KiB) 105-mal heruntergeladen

Nach oben