Delphi TListView麻烦

时间:2015-10-09 12:03:42

标签: delphi tlistview

我的表单上有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,在第二列我得到Itemtexts。我无法弄清楚的是如何根据我得到的数据填充ListView。 例如:我有一个矩阵A,它是一个3x3矩阵,我希望它的元素显示在这个ListView中,所以第一行显示前三行元素,第二行显示第二行三个元素,依此类推。问题:如何访问第三列?如何根据我拥有的索引(i,j)填充视图?

祝你好运

1 个答案:

答案 0 :(得分:0)

列表项的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;