Delphi TListView 问题
Delphi TListView Trouble
我的表格上有一个 TListView
。我根据输入在其中添加一些列,如下所示:
MyItem := StringListView.Columns.Add;
MyItem.Caption := IntToStr(i);
MyItem.Width := -2;
之后,我使用 onData
事件来填充 ListView,如下所示:
procedure TMatrixDictViewerFrame.StringListViewData(Sender: TObject;
Item: TListItem);
var
ItemCaption: string;
ItemText: string;`
begin
ItemCaption := Format('[%d]', [Item.Index]);
ItemText := FItems[Item.Index];
Item.Caption := ItemCaption;
Item.SubItems.Add(ItemText);
end;
它工作正常,因为在第一列中我有 Itemcaptions,在第二列中我有 Itemtext。我无法弄清楚的是如何根据我获得的数据填充 ListView。
例如:我有一个矩阵 A,它是一个 3x3 矩阵,我希望它的元素显示在此 ListView 中,因此第一行显示前 3 行元素,第二行显示第二行三个元素,依此类推。问题:如何访问第三列?如何根据我拥有的索引 (i,j) 填充视图?
此致
列表项的Index
属性告诉你行。您应该填充整行。像这样:
procedure TMatrixDictViewerFrame.StringListViewData(Sender: TObject; Item: TListItem);
begin
// A is a 3x3 matrix, that you obtain by means we don't know
Item.Caption := FloatToStr(A[Item.Index, 0]);
Item.SubItems.Add(FloatToStr(A[Item.Index, 1]));
Item.SubItems.Add(FloatToStr(A[Item.Index, 2]));
end;
我的表格上有一个 TListView
。我根据输入在其中添加一些列,如下所示:
MyItem := StringListView.Columns.Add;
MyItem.Caption := IntToStr(i);
MyItem.Width := -2;
之后,我使用 onData
事件来填充 ListView,如下所示:
procedure TMatrixDictViewerFrame.StringListViewData(Sender: TObject;
Item: TListItem);
var
ItemCaption: string;
ItemText: string;`
begin
ItemCaption := Format('[%d]', [Item.Index]);
ItemText := FItems[Item.Index];
Item.Caption := ItemCaption;
Item.SubItems.Add(ItemText);
end;
它工作正常,因为在第一列中我有 Itemcaptions,在第二列中我有 Itemtext。我无法弄清楚的是如何根据我获得的数据填充 ListView。 例如:我有一个矩阵 A,它是一个 3x3 矩阵,我希望它的元素显示在此 ListView 中,因此第一行显示前 3 行元素,第二行显示第二行三个元素,依此类推。问题:如何访问第三列?如何根据我拥有的索引 (i,j) 填充视图?
此致
列表项的Index
属性告诉你行。您应该填充整行。像这样:
procedure TMatrixDictViewerFrame.StringListViewData(Sender: TObject; Item: TListItem);
begin
// A is a 3x3 matrix, that you obtain by means we don't know
Item.Caption := FloatToStr(A[Item.Index, 0]);
Item.SubItems.Add(FloatToStr(A[Item.Index, 1]));
Item.SubItems.Add(FloatToStr(A[Item.Index, 2]));
end;