begin for i:=0 to query1.fieldcount-1 do begin ListView1.AddItem(query1.Fields[i].AsString,sender); end;
假设用ADOQuery,代码如下: procedure TForm1.Button1Click(Sender: TObject); var i: Integer; item: TListItem; col: TListColumn; begin with ADOQuery1, ListView1 do begin ListView1.Clear; Close; Open; First; for i := 0 to FieldCount - 1 do begin col := Columns.Add; col.Caption := Fields[i].FieldName; end; item := nil; while not Eof do begin for i := 0 to FieldCount - 1 do begin if i = 0 then begin item := ListView1.Items.Add; item.Caption := Fields[i].AsString; end else item.SubItems.Add(Fields[i].AsString); end; Next; end; end; end;
楼上讲的是放数值的方法 我想楼主是想知道放字段 所以可以改成 begin for i:=0 to query1.fieldcount-1 do begin ListView1.AddItem(query1.Fields[i].fieldname,sender); end;
不好意思,我用三个循环: // 设置ListView的列数 ListView1.Columns.Clear; for c:=0 to Table1.FieldCount-1 do with ListView1.Columns.Add do begin Caption := Table1.FieldDefs[c].DisplayName; Width := -2; // 自动宽度 end; // 填充数据 Table1.First; while not Table1.Eof do begin // 增加一行 with ListView1.Items.Add do begin // 第一列 Caption := Table1.Fields[0].DisplayText; // 余下的列 for c:=1 to Table1.FieldCount-1 do SubItems.Add(Table1.Fields[c].DisplayText); end; Table1.Next; end;
for i:=0 to query1.fieldcount-1 do
begin
ListView1.AddItem(query1.Fields[i].AsString,sender);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
item: TListItem;
col: TListColumn;
begin
with ADOQuery1, ListView1 do begin
ListView1.Clear;
Close;
Open;
First;
for i := 0 to FieldCount - 1 do begin
col := Columns.Add;
col.Caption := Fields[i].FieldName;
end;
item := nil;
while not Eof do begin
for i := 0 to FieldCount - 1 do begin
if i = 0 then begin
item := ListView1.Items.Add;
item.Caption := Fields[i].AsString;
end
else
item.SubItems.Add(Fields[i].AsString);
end;
Next;
end;
end;
end;
我想楼主是想知道放字段
所以可以改成
begin
for i:=0 to query1.fieldcount-1 do
begin
ListView1.AddItem(query1.Fields[i].fieldname,sender);
end;
ListView1.Columns.Clear;
for c:=0 to Table1.FieldCount-1 do
with ListView1.Columns.Add do
begin
Caption := Table1.FieldDefs[c].DisplayName;
Width := -2; // 自动宽度
end; // 填充数据
Table1.First;
while not Table1.Eof do
begin
// 增加一行
with ListView1.Items.Add do
begin
// 第一列
Caption := Table1.Fields[0].DisplayText; // 余下的列
for c:=1 to Table1.FieldCount-1 do
SubItems.Add(Table1.Fields[c].DisplayText);
end; Table1.Next;
end;