DblClick//双击事件procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;//改变颜色 const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState); begin if DBGrid.DataSource.DataSet.FieldByName('是否').AsInteger=0 then begin DBGrid.Canvas.Font.Color:=clred; DBGrid.DefaultDrawColumnCell(rect,datacol,column,state); end;end;
改变颜色的例子在CSDN里搜索一下,能找到一大把....
单元格的双击不知道,但字段属性里有一个buttonstyle,可以为单元格加一个按扭。procedure Tsp.gzd_dbgDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var//改变颜色 zt,s:string; begin if gysdbf.gzdjm_qry.RecordCount=0 then exit; if column.FieldName='flag' then begin zt:=column.Field.AsString; if zt='1' then s:=' ' else s:='已保存'; gzd_dbg.Canvas.Font.Color := clRed; gzd_dbg.Canvas.TextRect(Rect,Rect.Left+2,Rect.Top+2,s); gzd_dbg.Canvas.Font.Color := clBlack; end; end;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if DBGrid.DataSource.DataSet.FieldByName('是否').AsInteger=0 then
begin
DBGrid.Canvas.Font.Color:=clred;
DBGrid.DefaultDrawColumnCell(rect,datacol,column,state);
end;end;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var//改变颜色
zt,s:string;
begin
if gysdbf.gzdjm_qry.RecordCount=0 then exit; if column.FieldName='flag' then
begin
zt:=column.Field.AsString;
if zt='1' then s:=' '
else s:='已保存';
gzd_dbg.Canvas.Font.Color := clRed;
gzd_dbg.Canvas.TextRect(Rect,Rect.Left+2,Rect.Top+2,s);
gzd_dbg.Canvas.Font.Color := clBlack;
end;
end;