delphi中DBgried怎么给选中框中的内容修改颜色?想通过一个button键来实现。请教
delphi中DBgried如何给选中框中的内容修改颜色?想通过一个button键来实现。请问
如题。求解。
不通过数据库,直接在界面上通过个button修改dbgrid某个框里的字体颜色。可以实现吗?
------解决方案--------------------
你试下下面的代码:
------解决方案--------------------
具体要定位到某个单元格的话重画事件DrawColumnCell用下面的代码:
如题。求解。
不通过数据库,直接在界面上通过个button修改dbgrid某个框里的字体颜色。可以实现吗?
------解决方案--------------------
你试下下面的代码:
var
fmMain: TfmMain;
bChangeColor: Boolean;
implementation
{$R *.dfm}
{ TForm1 }
procedure TfmMain.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
with (Sender as TDBGrid) do
begin
if bChangeColor then
Canvas.Font.Color := clRed;
DefaultDrawDataCell(Rect, Field, State);
end;
end;
procedure TfmMain.FormCreate(Sender: TObject);
begin
bChangeColor := False;
end;
procedure TfmMain.SpeedButton1Click(Sender: TObject);
begin
bChangeColor := not bChangeColor;
DBGrid1.Refresh;
end;
end.
------解决方案--------------------
具体要定位到某个单元格的话重画事件DrawColumnCell用下面的代码:
procedure TfmMain.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
with (Sender as TDBGrid) do
begin
if bChangeColor and
(DataCol = 0) and //第一列
(DataSource.DataSet.RecNo = 2) then //第二行
Canvas.Font.Color := clRed;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;