数据库里面的数据没有序号的数据,在dbgrideh上新增一列自定义其字段,例如:id
在编码的开头定义i,为integer
在dbgrideh控件上的‘OnDrawColumnCell’事件下写下代码
procedure TForm1.number(Sender: TObject; const Rect: TRect; DataCol: Integer;
Column: TColumnEh; State: TGridDrawState);
var
i:integer;
begin
with DBGrideh1.DataSource.DataSet do
begin
if DataCol = 0 then //设置在第一列
begin
if state<>dsInsert then i:= recno; //关键
DBGrideh1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, IntToStr(i));
inc(i); //將i加1
end;
end;
end;
在unidatesource的‘OnDataChange’事件下写下
i:=1;