在DataSet的OnCalcFields事件中写如下代码: procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet); begin DataSet.FieldByName('计算字段').AsInteger := DataSet.RecNo; // or DataSet.RecNo + 1 end;不要说你不会创建计算字段
我在wwDbgrid中是在procedure TForm1.wwDBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); var Y:integer; begin if field.FieldName='A' then begin wwdbgrid1.Canvas.TextOut(rect.Left,rect.Top ,inttostr(table1.RecNo)); end; end; 不用计算字段,但也得弄一个字段。
procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName('计算字段').AsInteger := DataSet.RecNo; // or DataSet.RecNo + 1
end;不要说你不会创建计算字段
Field: TField; State: TGridDrawState);
var Y:integer;
begin
if field.FieldName='A' then
begin
wwdbgrid1.Canvas.TextOut(rect.Left,rect.Top ,inttostr(table1.RecNo));
end;
end;
不用计算字段,但也得弄一个字段。
你的这个字段怎样弄,不是计算字段,又不可能是Data字段
dbgrid就是在DrawDataCell事件里写了。你随便拿个表试试就知道了。
up