完整的代码如下:
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;
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);
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;
var
NewItem : TListItem;
begin
ADOQuery1.Open;
ADOQuery1.First;
While NOT ADOQuery1.Eof do
begin
NewItem := ListView2.Items.Add;
NewItem.Caption := ADOQuery1.FieldByName('编号').AsString;