![]() |
ein string der combobox im stringgrid suchen
Hallo Leute.
Titel ist gleich mein Problem - es soll ein String der ComboBox (ComboBox1.Text) im StringGrid gesucht werden und (wenn er gefunden wird) die entsprechende Zeile im StringGrid markiert werden. Ein Bsp.Code wäre sehr nett, weil ich = Anfänger ;-) Danke! Edit1 Oder sagt mir wenigstens, wie ich eine zeile markieren kann mit z.B. StringGridOnMouseClick, bitte... Edit2 Ok, so wird die Zeile markiert
Delphi-Quellcode:
Problem jetzt - die zeile mit dem Eintrag (string) 'test' soll markiert werden.
StringGrid1.Selection := TGridRect(Rect(StringGrid1.FixedCols,
StringGrid1.Row, StringGrid1.ColCount-1, StringGrid1.Row)); |
Re: ein string der combobox im stringgrid suchen
Hai djpaull,
wenn Du weisst in welcher Spalte Du suchen möchtest kannst Du das zum Beispiel so machen:
Delphi-Quellcode:
Ansonsten kannst Du dir das ja schnell auf alle Spalten anpassen.
function SearchTextInCol(aSg: TStringGrid; aSearch: string; aCol: Integer): Boolean;
var RowIndex: Integer; begin RowIndex := aSg.Cols[aCol].IndexOf(aSearch); if (RowIndex <> -1) then begin aSg.Row := RowIndex; end; Result := RowIndex <> -1; end; procedure TDemo_Form.Button1Click(Sender: TObject); var SearchText: string; SearchCol: Integer; begin SearchText := Edit1.Text; SearchCol := 2; if not (SearchTextInCol(StringGrid1, SearchText, SearchCol)) then begin ShowMessageFmt('%s wurde in Zeile %d nicht gefunden', [SearchText, SearchCol]); end; end; |
Re: ein string der combobox im stringgrid suchen
|
Re: ein string der combobox im stringgrid suchen
Delphi-Quellcode:
habs jetzt nicht getestet aber das dürfe dein problem mit der suche erledigen!procedure TForm1.searchBClick(Sender: TObject); var j: Integer; i: Integer; begin for j:=0 to stringgrid.colCount-1 do begin for i:=0 to StringGrid.rowCount-1 do begin if pos(lowercase(combobox.Items.Strings[combobox.itemindex]),lowercase(stringgrid.Cells[j,i]))>0 then begin StringGrid.Row := i; StringGrid.Col := j; ShowMessage(combobox.Items.Strings[combobox.itemindex]+' wurde in Zeile '+intToStr(i)+ ' in Spalte ' + inttostr(j)+' gefunden'); end; end; end; hoffe es hilft dir! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz