如何使用Delphi将数据DbGrid插入TlistItem?
答案 0 :(得分:3)
TdbGrid中的数据只能存储在TDataSet的后代中。所以我怀疑你的问题是如何将TDataset中的信息转换为TListView。
基本上可以使用以下代码完成。
procedure TForm13.DisplayData(Dataset: TDataSet; ListView: TListView);
var
LI : TListItem;
CO : TListColumn;
I : Integer;
begin
// Setup the Columns
ListView.ViewStyle := vsReport;
ListView.Columns.Clear;
for I := 1 to DataSet.Fields.Count do
begin
CO := ListView.Columns.Add;
CO.Caption := Dataset.Fields.FieldByNumber(I).DisplayLabel;
Co.AutoSize := true;
end;
// Populate The Data
Dataset.First;
while not DataSet.EOF do
begin
LI := ListView.Items.Add;
LI.Caption := Dataset.Fields.FieldByNumber(1).AsString;
for I := 2 to DataSet.Fields.Count do
begin
LI.SubItems.Add(Dataset.Fields.FieldByNumber(I).AsString);
end;
DataSet.Next;
end;
end;