更新TListView项目

时间:2009-12-04 14:35:53

标签: delphi listview

我想更新TListView中的值。我试过这个

...
lvProcess : TListView;
liEdit : TlistItem;
...
   liEdit:=lvProcess.Items.Item[1];
   liEdit.Caption:='11';
   liEdit.SubItems.ValueFromIndex[0]:='22';
   liEdit.SubItems.ValueFromIndex[1]:='33';
...

这应该做我想要的,但在此之后,子项的值是'= 22'和'= 33' 我不希望添加相同的字符。

任何人都可以帮助我吗?我不知道这是否是编辑/更新列表项的正确方法

感谢

2 个答案:

答案 0 :(得分:3)

您可以尝试以下方法:

with LvProcess.Items[1] do
begin
  Caption := '11';
  SubItems.Strings[0] := '22';
  SubItems.Strings[1] := '33';
end;

如果您一次更新多个项目,最好以这样的方式包围更新:

try
  lvProcess.Items.BeginUpdate;

  //Do your updates
finally
  lvProcess.Items.EndUpdate;
end;

答案 1 :(得分:0)

SubItems是一个TStrings,所以如果你想更新字符串值,请这样做:

SubItems[0] := '22'
SubItems[1] := '33'

现在你正在使用TStrings作为键/值列表。当你想要它时,这是TStrings的一个很好的特性,但可能不是你想要的。