我想更新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' 我不希望添加相同的字符。
任何人都可以帮助我吗?我不知道这是否是编辑/更新列表项的正确方法
感谢
答案 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的一个很好的特性,但可能不是你想要的。