Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Listbox StringGrid vergleich! (https://www.delphipraxis.net/124804-listbox-stringgrid-vergleich.html)

thiagojonas 25. Nov 2008 16:43

Re: Listbox StringGrid vergleich!
 
Oki

DeddyH 25. Nov 2008 16:51

Re: Listbox StringGrid vergleich!
 
Vergiss das Letzte, das war Blödsinn. Ich habe die Funktion mal etwas aufgebohrt:
Delphi-Quellcode:
uses StrUtils;

function GetRowIndex(const Grid: TStringGrid;
                     const Txt2Find: string;
                     ColIndex: Integer;
                     CaseInsensitive: Boolean = True): integer;
var iIndex: Integer;
begin
  Result := -1;
  iIndex := Grid.FixedRows;
  while (iIndex < Grid.RowCount) and (Result < 0) do
    begin
      if AnsiSameStr(Grid.Cells[ColIndex,iIndex],Txt2Find) or
        (CaseInsensitive and AnsiSameText(Grid.Cells[ColIndex,iIndex],Txt2Find)) then
        Result := iIndex;
      Inc(iIndex);
    end;
end;
Damit hat es bei mir wunderbar funktioniert.

thiagojonas 25. Nov 2008 17:02

Re: Listbox StringGrid vergleich!
 
also so dann?

[delphi]
function GetRowIndex(const Grid: TStringGrid;
const Txt2Find: string;
ColIndex: Integer;
CaseInsensitive: Boolean = True): integer;
var iIndex: Integer;
begin
Result := -1;
iIndex := Grid.FixedRows;
while (iIndex < Grid.RowCount) and (Result < 0) do
begin
if AnsiSameStr(Grid.Cells[ColIndex,iIndex],Txt2Find) or
(CaseInsensitive and AnsiSameText(Grid.Cells[ColIndex,iIndex],Txt2Find)) then
Result := iIndex;
Inc(iIndex);
end;
end;
// und was muss ich hier einfügen, damit der makierte Wert der Listbox rüber in die Stringgrid kommt?
Kannst du mal deiner Version mir posten?
Danke, bin beim training, um 9 wieder da :-D

DeddyH 25. Nov 2008 17:33

Re: Listbox StringGrid vergleich!
 
Hier ist der Code, mit dem ich vergleiche (sgSearch ist meine StringGrid und lbSearch meine Listbox):
Delphi-Quellcode:
procedure TfrmMain.btnAuswahlClick(Sender: TObject);
var iIndex: Integer;
begin
  if lbSearch.ItemIndex > -1 then
    begin
      iIndex := GetRowIndex(sgSearch,lbSearch.Items[lbSearch.ItemIndex],sgSearch.FixedCols);
      if iIndex > -1 then
        sgSearch.Cells[2,iIndex] := FormatDateTime('hh:nn',Now);
    end;
end;

thiagojonas 25. Nov 2008 19:58

Re: Listbox StringGrid vergleich!
 
komisch, bei mir will es einfach nicht klappen. Ich lasse meine die daten gleichzeitig in eine DBGrid speichern, und die werden zeitgleich in die stringgrid angezeigt. auch wenn ich einen neuen datensatz hinzufüge, wird der stringgrid einen neue zeile hinzugefügt. ohne probleme. Also kann es eigentlich daran nicht liegen oder?

thiagojonas 25. Nov 2008 22:13

Re: Listbox StringGrid vergleich!
 
Egal funktioniert doch :-) HAt sich also erledigt. Vielen Dank nochmal.
Kurze Frage noch ich ahbe ja daten in die stringgrid dadurch eingefügt, aber nicht in die DBGrid. Gibt es eine refresh funktion, die die daten der stringgrid in die dbgrid bringt und sie dann dort auch speichert?

mkinzler 25. Nov 2008 22:16

Re: Listbox StringGrid vergleich!
 
Das wirst du manuell erledigen müssen

thiagojonas 26. Nov 2008 14:03

Re: Listbox StringGrid vergleich!
 
Mist, das hatte ich schon befürchtet, egal was solls! :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 Uhr.
Seite 2 von 2     12   

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