Google

Monday, March 19, 2007

add a Row Number in your DBGrid

{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1. create new blank field in dbgrid
2. rename the title with 'No'
3. put this code in OnDrawColumncell
4. Now your Grid has a row number
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if
DataSource1.DataSet.RecNo > 0 then
begin
if
Column.Title.Caption = 'No' then
DBGrid1.Canvas.TextOut(Rect.Left + 2, Rect.Top, IntToStr(DataSource1.DataSet.RecNo));
end;
end;

1 comment:

putra said...

hi...
thanks for your tips, but RecNo not work properly.. I remove :
"if DataSource1.DataSet.RecNo > 0 then"
it can work but just display -1 from RecNo in DBGrid1.Canvas.TextOut. can you give me another solution..