代码之家  ›  专栏  ›  技术社区  ›  Remus Rigo

更新tlistview项

  •  0
  • Remus Rigo  · 技术社区  · 15 年前

    我想更新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 回复  |  直到 15 年前
        1
  •  3
  •   zz1433    15 年前

    您可以尝试以下操作:

    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;
    
        2
  •  0
  •   Larry Lustig    15 年前

    子项是一个tstring,因此如果要更新字符串值,请执行以下操作:

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

    你现在做的方式是,使用tstring作为键/值列表。这是TString的一个很好的特性,但可能不是你想要的。