AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi ein string der combobox im stringgrid suchen
Thema durchsuchen
Ansicht
Themen-Optionen

ein string der combobox im stringgrid suchen

Ein Thema von djpaull · begonnen am 3. Dez 2007 · letzter Beitrag vom 4. Dez 2007
Antwort Antwort
djpaull
(Gast)

n/a Beiträge
 
#1

ein string der combobox im stringgrid suchen

  Alt 3. Dez 2007, 20:31
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:
StringGrid1.Selection := TGridRect(Rect(StringGrid1.FixedCols,
                                        StringGrid1.Row,
                                        StringGrid1.ColCount-1,
                                        StringGrid1.Row));
Problem jetzt - die zeile mit dem Eintrag (string) 'test' soll markiert werden.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: ein string der combobox im stringgrid suchen

  Alt 4. Dez 2007, 06:55
Hai djpaull,

wenn Du weisst in welcher Spalte Du suchen möchtest kannst Du das zum Beispiel so machen:
Delphi-Quellcode:
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;
Ansonsten kannst Du dir das ja schnell auf alle Spalten anpassen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: ein string der combobox im stringgrid suchen

  Alt 4. Dez 2007, 07:11
Moin,

ich erinnere mich an den Thread String-Suche in einem StringGrid.

Grüße vom marabu
  Mit Zitat antworten Zitat
MondoShiva

Registriert seit: 14. Aug 2007
Ort: Mönchengladbach
63 Beiträge
 
Delphi XE2 Professional
 
#4

Re: ein string der combobox im stringgrid suchen

  Alt 4. Dez 2007, 11:49
Delphi-Quellcode:

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;
habs jetzt nicht getestet aber das dürfe dein problem mit der suche erledigen!
hoffe es hilft dir!
Veritas et Aequitas
  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 12:24 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