写了以下代码,目的是在增加的记录前多一个序号,
1,在adoMain中加入一个calculate的字段'RecordNO'
2,在'RecordNO'的onGetText事件中写如下代码
Text := IntToStr(adoMain.RecNO);
if Text = '-1' then Text := '';
3,增加记录的代码
with adoMain do
begin
Append;
赋值语句,,,
end;
在此出现一个问题,如果最后不加入POST,则RecordNO字段显示的都是-1,加入post才正常显示,请问为什么会这样?onGetText事件发生时,ado控件到底处于一个什么样的状态呢?
1,在adoMain中加入一个calculate的字段'RecordNO'
2,在'RecordNO'的onGetText事件中写如下代码
Text := IntToStr(adoMain.RecNO);
if Text = '-1' then Text := '';
3,增加记录的代码
with adoMain do
begin
Append;
赋值语句,,,
end;
在此出现一个问题,如果最后不加入POST,则RecordNO字段显示的都是-1,加入post才正常显示,请问为什么会这样?onGetText事件发生时,ado控件到底处于一个什么样的状态呢?
Text:=inttostr(adoMain.RecordCount+1)
else
text:=inttostr(adoMain.RecNo);
onGetText这个不管你数据集处于什么状态,只要是这个字段获得数据时就会触发 这样写:
Text:=Sender.AsString; //保证正常显示未修改前的值
if IntToStr(adoMain.RecNO)=-1 then //条件成立则改变值
Text:='';