ListView

devlin

Mitglied
Hallo

habe ein Problem mit dem ListView- Element.

Sobald ich ein Element aus der Liste gewählt habe, springt die Markierung an die
1. Prosition der Liste zurück. Die Markierung soll aber genau an der Position des gewählten Elements stehenbleiben.

?
 
Hast Du irgendwelche Methoden, die ein Ereignis des ListViews bearbeiten? Irgendwelcher Code, der auf das ListView zugreift? Oder möglicherweise eine falsch gesetzte Eigenschaft?
Tritt das gleiche Problem auch in anderen Projekten auf? Oder mit dem gleichen Projekt auf einem anderen Rechner?

Gib mal mehr Infos zu Deinem Problem.
 
Gut danke,

hast mich glaub ich auf die richtige Idee gebracht. Das Event dbl_click ruft unteranderem auch eine Funktion auf die eine Funktion aufruft, die das ListView updated. Dann ist ja klar, dass der Focus durch das vorherige ListView.listitems.clear, dann beim folgendem wiederbefüllen auf dem 1. Element liegt.

Danke für den Denkanstoß. Manchmal brauch man soetwas.
 
Soweit so gut.

Hab das jetzt gebastelt. Die Markierung, bleibt jetzt über dem update auf dem vorher gewähltem Element.

Nun aber das nächste Problem:

Die Markierung bleibt zwar stehen, ist aber nach dem update nicht mehr im Bild (ListView enthält ca 300 Datensätze).

Wie bekomme ich die Markierung wieder automatisch ins Bild?
 
Kenne das Problem. Schon wenn das ding den Fokus verliert, ist die sichtmare Markierung weg.
Ich hab bei mir einfach, bei den Zeilen die Markiert wurden die Schriftfarbe geändert. Kommt ganz gut. Weil ich mehrere Listviews im Selben Formular verwende.
Wenn du auch noch den ganzen Listview inhalt updatest musst du dir beim Markieren den Index des ListItems merken. Damit dus nachher wieder Markieren kannst.
Soweit ich weiß gibt es keine möglichkeit die Selection wiederzurrückzubringen.
Falls Doch lasst es mich wissen.
 
Wenn ich mich richtig erinnere, gibt es eine Eigenschaft, mit der die Markierung gehalten werden kann, wenn das ListView den Fokus verliert. Frag mich aber nicht, wie diese heisst... :rolleyes:
 
Also nicht Falsch verstehen ich glaube es geht hier im Fall LostFocus nur um die Visuelle Markierung. Die SelectedItem Eigenschaft bleibt.
 
Es geht um die rein visuelle Markierung.

Der Inhalt des ListViews updated sich automatisch nach einiger Zeit oder nach Auswahl eines Eintrags.

Die visuelle markierung bleibt durch eine Hilfsvariable mit dem Wert

List1.SelectedItem.Index

die nach dem update des ListViews wieder den Eintarg findet.
Das blöde daran ist, dass die visuelle Markierung zwar gesetzt ist, aber nicht im Bild ist. Erst beim drücken einer Cursortaste springt er, dann natürlich einen Eintrag weiter, zur richtigen Stelle.

aber wiederum auch keine Lust irgendwelche Cursortasten zu simulieren.
 
Ich habe mich mal wieder an dieses Problem gesetzt.

Das Problem habe ich mit der

.EnsureVisible

Eigenschaft des Listenelements gelöst.
 

Neue Beiträge

Zurück