我想在DBGrid中实现自动序号(不管有那些记录,总是从1开始):
我在adoquery1中添加一个字段aSortId 类型为Integer,字段类型为Calculated
在adoquery1中的onCalcFields事件中这样写:
DataSet.FieldByName('aSortId').Integer:=DataSet.RecNo;
运行后
为什么第一条和最后一条记录aSortId的值都是为:-1呢?
aSort Field1 Field2
-1 a aa
2 b bb
3 c cc
……
-1 z zz
我在adoquery1中添加一个字段aSortId 类型为Integer,字段类型为Calculated
在adoquery1中的onCalcFields事件中这样写:
DataSet.FieldByName('aSortId').Integer:=DataSet.RecNo;
运行后
为什么第一条和最后一条记录aSortId的值都是为:-1呢?
aSort Field1 Field2
-1 a aa
2 b bb
3 c cc
……
-1 z zz
解决方案 »
- 修改记录窗口关闭时的提示............
- 解决了我给高分,excel模板大小设置的问题,up顺便散分!
- 在DBGRID中,如何将数据表中某一FIELD的值显示为映射的值?
- 如何知道數據表中的記錄是新插入的,修改過的和未改變過的?要求高效率的判斷語句.OnLine
- 如何创建ADT字段?
- 关于系统的问题!
- resource workshop 在哪里?
- 如何将一个文本文件加入到exe文件中,程序运行时,并对文本文件操作!
- 关于报表的问题!500分
- 千古之谜,汝能解否?
- 刚装了台机器,感觉配置不太对劲,我又不动硬件。请问网上有没有检测电脑硬件配置参数的工具啊,并给出网址。谢谢!
- 怎么得到shelllistview选中的项的文件名呢?(在线等)
if DataSet.FieldByName('aSortId').Integer = -1 then
DataSet.FieldByName('aSortId').Integer :=1;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
with DBGrid1.DataSource.DataSet do
begin
if DataCol = 0 then//第一列
DBGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, IntToStr(RecNo));
end;
end;可以实现你要的效果!