在DBGrid的OnDrawColumnCell事件里如下写! procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin with DBGrid1.DataSource.DataSet do begin if DataCol = 0 then DBGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, IntToStr(RecNo)); end;
procedure Tform.计算字段名GetText(Sender: TField; var Text: string; DisplayText: Boolean); begin if Dataset.RecNo = -1 then Text := '1' else Text := IntToStr(dateset.RecNo); end;
刚学到一种思路,请看看怎么样 先给dbgrid添上一列,不连任何数据,其Title.Caption属性设为'序号' ,再 procedure TForm.DBGridDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if (Column.Title.Caption = '序号') then begin (Sender as TDBGrid).Canvas.TextRect(Rect,Rect.Left,Rect.Top,IntToStr(ibquery.RecNo)); end; end;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
with DBGrid1.DataSource.DataSet do
begin
if DataCol = 0 then
DBGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, IntToStr(RecNo));
end;
var Text: string; DisplayText: Boolean);
begin
if Dataset.RecNo = -1 then
Text := '1'
else
Text := IntToStr(dateset.RecNo);
end;
先给dbgrid添上一列,不连任何数据,其Title.Caption属性设为'序号' ,再
procedure TForm.DBGridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (Column.Title.Caption = '序号') then
begin
(Sender as TDBGrid).Canvas.TextRect(Rect,Rect.Left,Rect.Top,IntToStr(ibquery.RecNo));
end;
end;