使用SQL的Select语句返回一个结果集时,可不可以给记录加入从"1"开始的序号。
如SELECT Name FROM animals.dbf,显示出来为
No. Name
1 Angel Fish
2 Boa
3 Critters
4 House Cat
5 Ocelot
6 Parrot
7 Tetras换一种想法,可不可以设计一个改进的TGrid控件,可以显示一列序号?这个序号列只起到显示序号的作用,有没有这样的控件?
如SELECT Name FROM animals.dbf,显示出来为
No. Name
1 Angel Fish
2 Boa
3 Critters
4 House Cat
5 Ocelot
6 Parrot
7 Tetras换一种想法,可不可以设计一个改进的TGrid控件,可以显示一列序号?这个序号列只起到显示序号的作用,有没有这样的控件?
解决方案 »
- inno setup 制作安装包 怎么修改bat文件?
- 有人用过TSimpleGraph图形库吗?Delphi
- 高手进来看看,关于使用createprocess方法调用netstat -an命令
- 根据拼音首字母自动查找记录的DBComboBox控件
- delphi 6 的QReport
- 这是什么ADOQuery??????
- Treeview控件的属性问题?
- 我想写一个函数,用来判断一个字符串是否为空,是就为NULL
- 我是通过代理服务器上网的,现在想在自己机子上建一个服务器,别人可以通过internet访问到,该怎么做呢?
- 怎样汉化Delphi的系统信息??
- 已知一个字符变量名内保存一个控件点,怎么使用这个控件呢?
- 可否指定excel文件,并将其中的数据导入到sqlserver中的表中
如果用oracle可以这样写select rownumm,name form table;
添加一个计算字段id然后再table的onCalcFields事件里加
table.fieldbyname('id').asinteger:=table1.recno+1
就可以了No.2:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Column.Index = 5 then
with DBGrid1.Canvas do begin
FillRect(Rect);
TextOut(Rect.Left+2, Rect.Top+2, IntToStr(DBGrid1.DataSource.DataSet.RecNo));
end;
end;
fields[i].DisplayLabel:=#39+fields[i].fieldname+#39;
No. Name
1 Angel Fish
3 Critters
4 House Cat
5 Ocelot
7 Tetras
我要的应该是行号,就算有记录被删除,显示出来也应为
No. Name
1 Angel Fish
2 Critters
3 House Cat
4 Ocelot
5 Tetras
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Column.Index = 0 then
with DBGrid1.Canvas do begin
FillRect(Rect);
TextOut(Rect.Left+2, Rect.Top+2, IntToStr(DBGrid1.DataSource.DataSet.RecNo));
end;
end;