要求实现:
隐藏某列,不是设置ColWidth=0,因为那样可以通过拉列表头拉出来.

解决方案 »

  1.   

    我的解决办法是:
    假如要显示5列,隐藏5列,我只加5个Column,对应于显示的那5列。
    要添加和显示另外的5列也很简单,ListViewItem.SubItems是TStrings类,不限制多加几列,如
    var
      li: TListItem;
    ...
      li := listView1.Items.Add;
      li.Caption := '1';
      li.SubItems.Add('2');
      li.SubItems.Add('3');
      li.SubItems.Add('4');
      li.SubItems.Add('5');
      // 下面的隐藏
      li.SubItems.Add('6');
      li.SubItems.Add('7');
      li.SubItems.Add('8');
      li.SubItems.Add('9');
      li.SubItems.Add('10');
    和你所要求的只差顺序,而隐藏的又无所谓顺序!
      

  2.   

    li.SubItems.Add('6');
      li.SubItems.Add('7');
      li.SubItems.Add('8');
      li.SubItems.Add('9');
      li.SubItems.Add('10');这个怎么达么隐藏的效果的,和前面的不是一样啊,我看不明白
      

  3.   

    “我只加5个Column”!
    每个TListItem设一个Caption,调用九次SubItems.Add('');
    测试一下!