Einzelnen Beitrag anzeigen

Benutzerbild von f4k3
f4k3

Registriert seit: 15. Aug 2007
Ort: Nürnberg
313 Beiträge
 
Delphi 2007 Architect
 
#7

Re: Einträge in einem DBGrid filtern

  Alt 11. Sep 2007, 10:21
Zitat von MondoShiva:
Delphi-Quellcode:

var
j: Integer;
i: Integer;
begin
    for j:=0 to DBGrid1.colCount-1 do
    begin
    for i:=0 to DBGrid1.rowCount-1 do
      begin
      if pos(lowercase(SucheText.text),lowercase(DBGrid1.Cells[j,i]))>0 then
        begin
         DBGrid1.Row := i;
         DBGrid1.Col := j;
         UdbTable_Produkte.RecNo := i; // hier kannst du beispielsweise nur aus der tabelle produkte suchen
                                       //jenachdem ob du table oder querry benutzt kannst das ja austauschen
         ShowMessage(SucheText.Text+' wurde in Zeile '+intToStr(i)+ ' in Spalte ' + inttostr(j+1)+' gefunden');
        end;
      end;
    end;
end;
hoffe das hilft dir ein wenig!
Musst es deinen wünschen nach umgestalten
So n ähnlichen Code Hatte ich auch schon ... nur dass n paar unklarheiten dabei sind ...

für mich sieht der code so aus ...

Delphi-Quellcode:

var
j: Integer;
i: Integer;
begin
    for j:=0 to DBGrid1.colCount-1 do // Schleife beginnt bei null wobei der Endwert -1 ist, somit endlos läuft?
    begin // Weil die schleife läuft ja nicht rückwärts oder sonstiges
    for i:=0 to DBGrid1.rowCount-1 do // Gleiches "Problem" wie oben ^^
      begin
      if pos(lowercase(SucheText.text),lowercase(DBGrid1.Cells[j,i]))>0 then // Mit der Zeile kann ich gar nix anfangen, ich könnte mir jedoch denken dass Sie überprüft ob in der Zeile bzw. Spalte nach übereinstimmungen sucht
        begin
         DBGrid1.Row := i; // Wenn dies passiert, wird die Zeile markiert
         DBGrid1.Col := j; // Und die dazugehörige spalte
         UdbTable_Produkte.RecNo := i; // hier kannst du beispielsweise nur aus der tabelle produkte suchen
                                       //jenachdem ob du table oder querry benutzt kannst das ja austauschen

                                       // Was macht RecNo?

         ShowMessage(SucheText.Text+' wurde in Zeile '+intToStr(i)+ ' in Spalte ' + inttostr(j+1)+' gefunden');
        end;
      end;
    end;
end;
Versteh ich den Quellcode bis dahin richtig?

Danke für eure Geduld

Sascha
  Mit Zitat antworten Zitat