with listview1.items.add do
begin
caption:='1212';
subitems.add('hh1');
subitems.add('hh2');
end;

listview1.items.add.caption:='1212';
listview1.items.add.subitems.add('hh1');
listview1.items.add.subitems.add('hh2');效果不一样,请问怎么回事,还有一个问题,假设有 test1.txt,test2.txt,test3.txt文件,文件里的数据是不同载荷listView控件有三个列,文件名-----路径------状态将上述文件显示在listview中,如何实现,文件名---------------路径-------------------------------------------------------状态
test1.txt            d:\test\test\test1.txt                                   计算中
test2.txt            c:\test\test\test2.txt                                   等待
test3.txt            e:\test\test\test3.txt                                   等待显示后如何获取test2的路径,即第二行第二列的c:\test\test\test1.txt

解决方案 »

  1.   

    ListView的Items每一次Add,都会创建一个新的ListItem,当然效果会不一样。
      

  2.   

    listview1.items.add.caption:='1212';
    listview1.items.add.subitems.add('hh1');
    listview1.items.add.subitems.add('hh2');
    你这样相当于添加了3条with listview1.items.add do
    begin
    caption:='1212';
    subitems.add('hh1');
    subitems.add('hh2');
    end;
    这个只是添加了一条
      

  3.   

    用第三方控件可行,但listview1也好用啊。
      

  4.   

    with listview1.items.add do
    begin
    caption:='1212';
    subitems.add('hh1');
    subitems.add('hh2');
    end;这里是对增加的一个ListItem设置值

    listview1.items.add.caption:='1212';
    listview1.items.add.subitems.add('hh1');
    listview1.items.add.subitems.add('hh2');这里是增加了三个ListItem
      

  5.   


    //读某行某列的操作: 
    Edit1.Text := listview1.Items[i].Caption; //读第i行第1列 
    Edit2.Text := listview1.Items[i].SubItems.strings[0]; //读第i行第2列 
    Edit3.Text := listview1.Items[i].SubItems.strings[1]; //读第i行第3列 
    //以次类推,可以用循环读出整列。
      

  6.   

    也可以考虑ListView_SetItem和ListView_GetItemText