1、
begin
if DataCol = 0 then //設置在第一列
begin
if DBGrideh1.DataSource.DataSet.state<>dsInsert then
i:= DBGrideh1.DataSource.DataSet.recno; //這句是關鍵。。。
DBGrideh1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, IntToStr(i));
//inc(i); //將这名改为以下内容
if i<=dbgrideh1.DataSource.DataSet.RecordCount then
inc(i)
else
i:=dbgrideh1.DataSource.DataSet.RecordCount +1; end;
end;
2、更简单的语句
{ begin
if Column.Index = 0 then
with DBGrideh1.Canvas do begin
FillRect(Rect);
TextOut(Rect.Left+2, Rect.Top+2, IntToStr(DBGrideh1.DataSource.DataSet.RecNo));