首先给adoquery1增加一个 type 为 int, field type 为calculated 的字段,
给dbgrid添加一个onDrawDataCell事件
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if field=adoquery1.FieldByName('新增字段名') then
dbgrid1.Canvas.TextOut(rect.Left,rect.Top,inttostr(adoquery1.RecNo));
end;
给dbgrid添加一个onDrawDataCell事件
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if field=adoquery1.FieldByName('新增字段名') then
dbgrid1.Canvas.TextOut(rect.Left,rect.Top,inttostr(adoquery1.RecNo));
end;
begin
if field=adoquery1.FieldByName('xuhao') then
dbgrid1.Canvas.TextOut(rect.Left,rect.Top,inttostradoquery1.RecNo));
end;procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);
begin
ADOQuery1.Fieldbyname('xuhao').value:=inttostr(adoquery1.RecNo);
end;谢谢!!!
begin
ADOQuery1.Fieldbyname('xuhao').value:=ABS(adoquery1.RecNo);
end;
begin
ADOQuery1.Fieldbyname('xuhao').value:=inttostr(adoquery1.RecNo);
end;
这个过程不用!把这个过程注释掉!