[BCB]ListBox i wiele kolumn

0

Witam

Robię proste wyszukiwanie (po strukturach) i wyniki chciałbym wyświetlać ListBox (chyba ze zaproponujecie coś ciekawszego :)).

Problem mój jest następujący:

  • jeżeli podziele ListBox na kolumny (np.2) to jak wpisywac do drugiej kolumny ?
    Gdy zapisuje cos przed Items->Add() to wrzuca po kolei wypełniając je tak jak leci... nie wiem jak dobrac się do tej drugiej kolumny, próbowałem Items->insert() ale to nie daje efektów...

  • Kolejną rzecza jaką przyjdzie mi rozwikłać to jak (już po wypełnieniu tych 3-4 kolumn) zaznaczajć dowolna z nich zaznaczała (wystarczy visualne podświetlenie :)) się każda w tej lini. I jak się wtedy zmieniłby sposób odczytu położenia zaznaczenia ??

Dzieki z góry za pomoc :d

0

twoje założenia najlepiej spełni StringGrid Masz tam podział na kolumny + w opcjach możesz zaznaczyż że cała linia się podświetla po kliknięciu(object inspector -> options -> goRowSelect na true). Położenie zaznaczenia sprawdzasz:
int polozenie=StringGrid1->row

Dodajesz do kolumn:
StringGrid1->Cells[0][0]=dane1;
StringGrid1->Cells[0][1]=dane2;
StringGrid1->Cells[0][2]=dane3;
(w ten sposob wypelnisz pierwszy wiersz i 3 pierwszekolumny[lub na odwrot ;)])

0

Użuj ListView. Ustaw ViewStyle na vsRepert, RowSelect na true. Wyrazy z pierwszej kolumny zmieniasz/odczytujesz za pomocą Items[i].Caption, a w pozostałych kolumnach Items[i].Subitems[j], gdzie "i" to indeks wiersza, a "j" to indeks kolumny (druga koluna j=0, trzecia kolumna j=1 ...).

0

adf88 masz calkowitą rację :) Jest to najlepsze anrzędzie to tego zadania.

Dzięki wielkie. [browar]


PS. Przydałby się tutaj na forum system "plusów" dawanych osobom które dobrze prawią :>

0

Dobra tylko czemu u mnie kiedy proboje :
ListViev1->Items[1].Caption="costam";
to wywala mi błąd że Caption nie jest członkiem (member) z TListItems ??

mam czyste List View i proboje dodac cos i nic nie idzie... szukalem w Helpie i tam pisze ze mozna edytowac zawartość ListView za pomoca ich Caption itp ale jak sie do tego zabrac :/...

Help :]
--> czy ktoremus sie udało ;)

0

Spróbuj
(*ListView1->Items)[1]->Caption = "costam";
albo
ListView1->Items->Item[1]->Caption = "costam";

1 użytkowników online, w tym zalogowanych: 0, gości: 1