请教,DBGrid如何显示序号??(100分)

  • 主题发起人 主题发起人 苍山@狼
  • 开始时间 开始时间

苍山@狼

Unregistered / Unconfirmed
GUEST, unregistred user!
数据集控件是Query
New了一个计算字段
类型选择Integer,field type 选calculated
然后在该计算字段的OnGetText事件里写:
Text := Query.RecNo
但看到的所有行都显示为-1,
 
procedure TDM.ClientDataSet1CalcFields(DataSet: TDataSet);
begin
ClientDataSet1XUHAO.Value := ClientDataSet1.RecNo;
end;
 
应该放在 OncalcFields 事件中,
但不是所有的库都支持 RecNo
 
我按上面的方法试了,但新加的那个计算字段什么也不显示
我的数据库是Informix是不是不支持这个属性
 
你在ClientDataSet的AfterScroll事件中写:
ClientDataSet1XUHAO.Value := ClientDataSet1.RecNo;

 
这样也不行,我现在用sql_server数据库也还是得出同样的结果;
 
dbgrid.datasource.dataset.recno
 
FieldDefs[0].DataType:=ftAutoInc
 
谢谢各位的参与,但还是没解决,我用别的方法解决了(同样送出分数)
在OncalcFields事件中
QrySfbzRecNo.Value :=QrySfbz.RecNo + intGlbXh ;
intGlbXh:=intGlbXh+1;
然后在该计算字段的OnGetText事件里写:
Text := IntTostr(Query.RecNo);
然后就能序号显示了
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
748
import
I
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部