Einzelnen Beitrag anzeigen

bl3nder

Registriert seit: 18. Aug 2006
89 Beiträge
 
#1

mysql + stringgrid + farblich markieren

  Alt 29. Aug 2006, 10:47
Datenbank: mysql • Version: 5.x • Zugriff über: mysql odbc
Hoi
Ich habe eine mysql Datenbank , wo PCs, Monitore und Dockingstations gespeichert sind.
Ich benutze nur die mysql odbcs , kein zeos oder so.
Ich habe im private von TForm1
fmysql: Tmysqlclient und
Fresult: TmysqlResult
Bisher habe ich die Anzeige der wichtigsten Daten ueber folgende Prozeduren hinbekommen
Zuerst lasse ich mir einen entsprechenden sql befehl geben.
Delphi-Quellcode:
procedure TForm1.mysqlqry ( q : string );
begin


if (q = '') then begin
  q := ' SELECT r.inventar_Nr,r.netzwerkname,a.benutzer ,';
  q := q + ' a.benutzer_alt, a.raum , r.bemerkungen ,m.inventar_Nr, d.inventar_Nr, r.statusID';
  q := q + ' from arbeitsplatz a inner join rechner r ';
  q := q + ' on a.rechnerid = r.rechnerid ';
  q := q + ' left join monitor m ';
  q := q + ' on a.monitorid = m.monitorid ';
  q := q + ' left join dockingstation d ';
  q := q + ' on r.dockingstationid = d.dockingstationid ';
  q := q + ' WHERE "1=1" ';
  end;

FResult := FMysql.query(q, true, ex);
ShowInGrid;


end;
dann die Anzeige im StringGrid

Delphi-Quellcode:
procedure TForm1.ShowInGrid;
var i,j: integer;


begin
if FMySql.Connected then begin

  if assigned(FResult) then begin // <-- Falls eine SQL Abfrage vorliegt


          Grid.RowCount := FResult.RowsCount+1; // <-- ZeilenAnzahl
          Grid.ColCount := FResult.FieldsCount; // <-- SpaltenAnzahl

          FResult.First;


           for i:=0 to FResult.RowsCount-1 do begin // <-- Zeilen durchlaufen
              for j:=0 to FResult.FieldsCount-1 do // <-- Spalten durchlaufen
                    Grid.Cells[j,i+1] := FResult.FieldValue(j);


              FResult.Next;
          Statusbar1.Panels[0].Text := IntToStr(Grid.RowCount) + ' Einträge';
          end;
  end
  else
    ShowMessage('Keine SQL-Abfrage !');

end
else
  ShowMessage('Not Connected');

end;
Nun moechte ich erreichen, dass er mir statt einer weiteren Spalte fuer "r.StatusID"-Werten die Zeilen abhaengig von der r.StatusID farblich markiert. Da ich aber zu FResult nichts gescheites gefunden habe, dachte ich mir ich frag mal, ob jemand weiß ich das am besten hinkrieg
  Mit Zitat antworten Zitat