如何在DBGrid中显示一个可以选择打勾的小方框的列?(象access中的是否类型列)(100分)

  • 主题发起人 主题发起人 yazhi
  • 开始时间 开始时间
这是我从一个软件拿的例子,好好看看吧
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
OldColor, OldFontColor: TColor;
begin
if CheckCurrencyField(Column.FieldName) then
begin
if (gdFocused in State) then
begin
sncDBCurrencyInplaceEdit.Left := Rect.Left + DBGrid1.Left+2;
sncDBCurrencyInplaceEdit.Top := Rect.Top + DBGrid1.top+2;
sncDBCurrencyInplaceEdit.Width := Rect.Right-Rect.Left;
sncDBCurrencyInplaceEdit.Height := Rect.Bottom- Rect.Top;
SetHighLightColor;
if (sncDBCurrencyInplaceEdit.Tag=1) and not sncDBCurrencyInplaceEdit.Visible then
sncDBCurrencyInplaceEdit.Visible := True;
end
else
begin
OldColor := sncDBCurrencyInplaceEdit.Color;
OldFontColor := sncDBCurrencyInplaceEdit.Font.Color;
SetNormalColor;
DrawCurrencyFrame(DBGrid1.Canvas, Rect, sncDBCurrencyInplaceEdit, Column.Field.AsFloat);
sncDBCurrencyInplaceEdit.Color := OldColor;
sncDBCurrencyInplaceEdit.Font.Color := OldFontColor;
end;
end;
end;
 
使用计算列:
显示
在 query 的onCalcFields事件中
if fields[6].asboolean then
计算列:='对号';//到word or wps2000 找
else
j计算列:='错号'
修改
在dbgrid 的单元格单击事件中
edit;
fields[6].asboolean:=not fields[6].asboolean;
post
 
多人接受答案了。
 
后退
顶部