AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Listbox-Selection durch "Item-Range" ausdrücken
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox-Selection durch "Item-Range" ausdrücken

Ein Thema von FriMop · begonnen am 9. Apr 2004 · letzter Beitrag vom 9. Apr 2004
Antwort Antwort
FriMop

Registriert seit: 9. Apr 2004
2 Beiträge
 
#1

Listbox-Selection durch "Item-Range" ausdrücken

  Alt 9. Apr 2004, 19:58
Hallo,

ich habe eine virituelle Listbox mit einigen tausend Einträgen. Diese funktioniert auch gut und schnell. Mein Problem ist jedoch, dass ich die ausgewählten Items nicht angemessen schnell ermitteln kann.

Eine for-Schleife, welche die ganze List abcheckt ( if Listbox1.Selected[y] then) ist viel zu langsam.
Der Befehl Listbox1.CopySelection() nützt auch nichts, da ich die Selection durch ItemIndex ausdrücken möchte, was dann wie folgt aussehen könnte:

ausgewählt sind die Items mit dem ItemIndex:

[1,
4,
18-159,
287-1400,
1531,
1751,
5121-6123]

(Ob die Indizes in einem array oder einem String geliefert werden, spielt keine Rolle.)


Dies ist besonders praktisch, wenn man die Auswahl an eine SQL-Abfrage weitergeben möchte.

Nach zahlreichen Versuchen mit Listbox und Listviews scheint es für mich nur die Möglichkeit zu geben, jedes Mousedown, Mouseup, Keydown, Keyup Event zu erfassen. Dies ist allerdings eine äusserst komplizierte Angelegenheit, da man zahlreiche Spezialfälle behandeln muss (ctrl/shift Status beachten, mouseup ausserhalb der komponente, drag-drop Aktion gestartet, select/unselect....)!

Kennt jemand von euch eine (einfache) Lösung für diese Problem?
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: Listbox-Selection durch "Item-Range" ausdrücke

  Alt 9. Apr 2004, 20:15
Zitat:
Dies ist allerdings eine äusserst komplizierte Angelegenheit, da man zahlreiche Spezialfälle behandeln muss
Nö musst du nicht.
Reicht es denn nicht aus, wenn du bei diesen Event
Selected[ItemIndex] mit DeineSelectedList[ItemIndex] vergleichst und deine Liste aktualisierst?
  Mit Zitat antworten Zitat
FriMop

Registriert seit: 9. Apr 2004
2 Beiträge
 
#3

Re: Listbox-Selection durch "Item-Range" ausdrücke

  Alt 9. Apr 2004, 20:31
Wenn ich dich richtig verstanden habe Robert_G, dann würdest du eine MySelectionList erstellen, die ungefähr der richtigen Selection entspricht und dann würdest du die eigen Liste auf Unterschiede zur korrekten Liste überprüfen (so etwas in der Art). Ich habe auch einige Varianten getestet, die eine ungefähre Liste von Items angibt, die potentielle hätten geändert werden können und dann diese Liste mit ListBox.selected[y] geprüft. Ich glaube, dass du schlussendlich nicht viel Zeit sparst auf diese Weise.

Es gibt verschiedene Möglichkeiten dieses Problem zu lösen, allerdings suche ich eine, die eine Liste mit 5000 - 25000 Items in nütlicher Zeit bearbeiten kann.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz