== 如何在listview里显示数据? ==

xingjiaren 2003-09-17 12:30:16
初学delphi,如何把从数据库表中选出的数据显示到listview里,
要求显示列名。
如何取数据,如何显示。希望给些代码提示。

如:
班级 学号 姓名
一班 001 张三
二班 001 李四
。。。。。。。。。
。。。。。。。。。
...全文
99 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
PaPaCong 2003-09-19
  • 打赏
  • 举报
回复
完整的代码如下:
procedure form1.GetStudentInfo;
var NewItem: Tlistitem;
begin
with Adoquery1 do
begin
close;
sql.clear;
sql.text := 'select * from table1';
open;
first;
//添加节点时不更新界面,直到调用endupdate方法时,才更新界面,速度快
Listview1.items.beginUpdate
while not eof then
begin
NewItem := Listview1.items.add;
NewItem.caption := fieldbyname('班级').asstring;
NewItem.subitems.add(fieldbyname('学号').asstring);
NewItem.subitems.add(fieldbyname('姓名').asstring);
NewItem.imageindex:=0; //显示时的图标
NewItem.stateindex:=0; //没有选中时的图标
NewItem.selectedindex:=1; //选中时的图标
next;
end;
ListView1.items.EndUpdate
end;
47522341 2003-09-19
  • 打赏
  • 举报
回复
var L1: Tlistitem;
with Adoquery1 do
begin
close;
sql.clear;
sql.text := 'select * from table1';
open;
first;
while not eof then
begin
L1 := Listview1.items.add;
L1.caption := fieldbyname('班级').asstring;
L1.subitems.add(fieldbyname('学号').asstring);
L1.subitems.add(fieldbyname('姓名').asstring);

next;
end;
end;
ychuiming 2003-09-18
  • 打赏
  • 举报
回复
class procedure Tpubfun.writelv(qsy:Tadoquery;ssg:Tlistview);
var
i:integer ;
listitem:Tlistitem;
begin
ssg.Clear;
qsy.open;
qsy.First;
while not qsy.Eof do
begin
listitem:=ssg.Items.add;
listitem.Caption:=trim(qsy.Fields[0].value);
for i:=1 to qsy.FieldCount-1 do
begin
listitem.SubItems.Add(trim(qsy.Fields[i].asstring))
end;
qsy.Next;
end;
end;
bluenightsky 2003-09-18
  • 打赏
  • 举报
回复
依次读出,添加到listview里不就行了
xingjiaren 2003-09-18
  • 打赏
  • 举报
回复
如何找到当前指针的值?
oklida 2003-09-17
  • 打赏
  • 举报
回复
var
NewItem : TListItem;
begin
ADOQuery1.Open;
ADOQuery1.First;
While NOT ADOQuery1.Eof do
begin
NewItem := ListView2.Items.Add;
NewItem.Caption := ADOQuery1.FieldByName('编号').AsString;

NewItem.SubItems.Add(ADOQuery1.FieldByName('地址').AsString);

ADOQuery1.Next;
end;

end;
IORILI 2003-09-17
  • 打赏
  • 举报
回复
呵呵 在向listview中加数据的时候最好有:
tlistview(list).Items.BeginUpdate;/////
NewItem := ListView2.Items.Add;
NewItem.Caption := ADOQuery1.FieldByName('编号').AsString;
tListView(list).Items.EndUpdate;/////
告诉listview要进行更新
FrameSniper 2003-09-17
  • 打赏
  • 举报
回复
表中列是预先设计好的,直接通过代码往出取就可以了!
FrameSniper 2003-09-17
  • 打赏
  • 举报
回复
表各列的名应该是实现设计好的吧!自己代码读取就可以了....
xingjiaren 2003-09-17
  • 打赏
  • 举报
回复
如何动态的取到表各列的名?

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧