DBGridで、任意のレコードのみ色を変えるには?

解決


ひかり  2003-12-17 00:45:45  No: 6243

度々の質問で申し訳ありません。
皆様、ご指導宜しくお願いします。

DBGridで、任意のレコードの色を変える方法がわかりません。
パラメータなどを色々調べたのですが、列の色しか変えれませんでした。

レコード全体の色を変えるのが理想ですが、
レコードの1項目のみでも構いませんので、
どなたかご指導宜しくお願いします。


通りすがり  2003-12-17 02:34:50  No: 6244

例えば、
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  v: string;
begin
  v := TDBGrid(Sender).DataSource.DataSet.FieldByName('Continent').AsString;
  if v='South America' then begin
    with TDBGrid(Sender) do begin
      Canvas.Brush.Color := clGreen;
      DefaultDrawColumnCell(Rect,DataCol,Column,State);
    end;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Table1.DatabaseName := 'DBDEMOS';
  Table1.TableName    := 'country.db';
  Table1.Active       := True;
  DataSource1.DataSet := Table1;
  DBGrid1.DataSource   := DataSource1;
end;
こんな感じではいかがでしょう?


ひかり  2003-12-17 03:11:31  No: 6245

通りすがりさん  ご指導ありがとうございます。

がんばってトライしてみます。


ひかり  2003-12-17 05:01:17  No: 6246

通りすがりさん。  ご指導ありがとうございました。

うまくできました。
色々と応用に頑張ります。

また、宜しくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加