listview1.Columns[0].Caption:='xxx';
    listview1.Columns[1].Caption:='xxx1';
    listview1.Columns[2].Caption:='xxx2';
你的ListView的Columns是否动态生成的?
    可以用ListView.Items.Add。
你最好把错误信息贴出来,方便大家参考

解决方案 »

  1.   

    procedure TForm1.FormCreate(Sender: TObject);const
      Names: array[0..5, 0..1] ofstring = (
        ('Rubble', 'Barney'),
        ('Michael', 'Johnson'),
        ('Bunny', 'Bugs'),
        ('Silver', 'HiHo'),
        ('Simpson', 'Bart'),
        ('Squirrel', 'Rocky')
        );var
      I: Integer;
      NewColumn: TListColumn;
      ListItem: TListItem;
      ListView: TListView;
    begin
      ListView := TListView.Create(Self);
      with ListView do
      begin
        Parent := Self;
        Align := alClient;    ViewStyle := vsReport;    NewColumn := Columns.Add;
        NewColumn.Caption := 'Last';
        NewColumn := Columns.Add;
        NewColumn.Caption := 'First';    for I := Low(Names) to High(Names) do
        begin
          ListItem := Items.Add;
          ListItem.Caption := Names[I][0];
          ListItem.SubItems.Add(Names[I][1]);
        end;
      end;
    end;
      

  2.   

    : debussy(debussy) 
    你的代码好象和我的一样。: luoweicaisd(笑三少) ( 
    我是想问我的代码错在哪里,如何更正
    如果能用
    ListView.Items.Add(),那()里的参数是什么?
      

  3.   

    listview.items.add()不可以这么用
    出错的原因是listview1.Columns的数量是0,你需要创建 
    创建方式NewColumn: TListColumn;
    begin
       with listview1 do
        begin
         NewColumn := Columns.Add;
         NewColumn.Caption := 'Last';
         NewColumn := Columns.Add;
         NewColumn.Caption := 'First';
        end;
      

  4.   

    var
        listitem:Tlistitem;
    begin
        listitem:=ListView1.Items.Add;
        ListItem.Caption:='XXX';
        listitem.SubItems.Add('XXX1');
        listitem.SubItems.Add('XXX2');
        ListView1.Columns.Add ;
        listview1.Columns[0].Caption:='xxx';
        ListView1.Columns.Add ;
        listview1.Columns[1].Caption:='xxx1';
            ListView1.Columns.Add ;
        listview1.Columns[2].Caption:='xxx2';
      

  5.   

    我本来就是复制你的代码,我的意思是我复制的你这段代码有问题,因为不知道你的Columns是动态创建的还是事先定义好的,如果是事先就定义好的,那没有错,如果是动态创建,那么没有看到你做动态创建的代码。
      

  6.   

    不能
    把你的程序后面三句去掉
    然后再oncustomdrawitem
          oncustomdrawsubitem
    里面加代码
      

  7.   

    emao_mhw(毛毛) (
    你的代码是正确的,但我还想问一下,
    如果我想加入第二行呢?(如,1,2,3)比如刚才的XXX,XXX1,XXX2是第一行。给出答案后马上给分,谢谢大家
      

  8.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      listitem, listitem1: Tlistitem;
    begin
      listitem := ListView1.Items.Add;
      ListItem.Caption := 'XXX';
      listitem.SubItems.Add('XXX1');
      listitem.SubItems.Add('XXX2');
      listitem1 := listview1.items.add;
      ListItem1.Caption := '1';
      listitem1.SubItems.Add('2');
      listitem1.SubItems.Add('3');
      //listitem.SubItems.Add('XXX3');  ListView1.Columns.Add;
      listview1.Columns[0].Caption := 'xxx';
      ListView1.Columns.Add;
      listview1.Columns[1].Caption := 'xxx1';
      ListView1.Columns.Add;
      listview1.Columns[2].Caption := 'xxx2';
    end;
    给分