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;