TStringGrid vs TComboBox

dział ogólny

TStringGrid vs TComboBox

Nowy postprzez Starosta » wtorek, 25 listopada 2008, 16:08

Witam

Chcę przypisać nazwy nagłówków kolumn ze StringGrid do Items w ComboBox, tak by po wybraniu pozycji w cbx następowało sortowanie odpowiedniej kolumny w sg. Wyskakuje mi komunikat, że nie można przekonwertowaść AnsiString do TString.
W najlepszym przypadku udawało mi się uzyskać ilość pozycji w cbox->items równą ilości kolumn lecz były one puste.

Jak to zrealizować: StringGrid->Cells[0][i]=ComboBox->Items
Avatar użytkownika
Starosta
 
    NieznanyNieznana

Re: StringGrid vs ComboBox

Nowy postprzez Cyfrowy Baron » wtorek, 25 listopada 2008, 20:57

Tak tego zrobić nie można, gdyż Cells to typ AnsiString a Items to typ TStrings, różnica między AnsiString a TString polega na tym, że AnsiString przechowuje łańcuch znaków, a TStrings listę łańcuchów znaków.

Jeżeli chcesz sortować kolumny to przeczytaj sobie: dział StringGrid, porada: sortowanie tabeli StringGrid, lub sortowanie bąbelkowe tabeli.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: StringGrid vs ComboBox

Nowy postprzez Witold » Å›roda, 26 listopada 2008, 00:29

Starosta napisał(a):Witam

Chcę przypisać nazwy nagłówków kolumn ze StringGrid do Items w ComboBox


Kod: Zaznacz cały
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    ComboBox1->Items->Assign(StringGrid1->Rows[0]);
  // lub
   for(int i= StringGrid1->FixedCols; i<StringGrid1->ColCount; ++i)
    ComboBox1->Items->Add( StringGrid1->Cells[i][0]);
}
//---------------------------------------------------------------------------
Avatar użytkownika
Witold
Konstrukcjonista
Konstrukcjonista
 
Posty: 223
Dołączył(a): piątek, 29 sierpnia 2008, 10:53
PodziÄ™kowaÅ‚ : 1
OtrzymaÅ‚ podziÄ™kowaÅ„: 14
Kompilator: bcb6, Turbo C++ Explorer
    NieznanyNieznana

Re: StringGrid vs ComboBox

Nowy postprzez Starosta » Å›roda, 26 listopada 2008, 07:47

Wiem Baronie, że tak nie można "StringGrid->Cells[0][i]=ComboBox->Items" ja tylko najogólniej jak to było można chciałem pokazać co zamierzam zrobić. Co do twojej porady o sortowaniu StringGrid, to na niej się właśnie opieram, jednak muszę ją zmodyfikować, bo zastosowałem podświetlanie kolumny lub wiersza po kliknięciu na komórkę nagłówkową i obie funkcje kolidują ze sobą i po skompilowaniu horrory mi się pokazują. Dlatego chcę użyć cbox'a.

Witold napisał(a):
for(int i= StringGrid1->FixedCols; i<StringGrid1->ColCount; ++i)
ComboBox1->Items->Add( StringGrid1->Cells[i][0]);
[/quote]

Tego próbowałem i nie działa. Zobaczę z drugą opcją, ale dopiero w domu po pracy, bo nie mam internetu.

Dzięki
Avatar użytkownika
Starosta
 
    NieznanyNieznana


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 28 gości

cron