我想使listview的显示结构如下:统计的人数  男  女
   一级     10
   二级         5
如何实现呀!谢谢各位!

解决方案 »

  1.   

    TListItem *ListItem=ListView->Items->Add();
    ListItem->Caption='一级'
    ListView->Items->Item[0]->SubItems->Strings[0]='10';
    ListView->Items->Item[0]->SubItems->Strings[1]= '';
    .....
      

  2.   

    with main_form.print_list.Items.Add do
    begin
      caption:=self.spdm.Caption;
      SubItems.add(self.spmc.caption); //添加后面数据
      subItems.Add(self.spdj.Text);
      SubItems.add(self.spsl.text);
      Data:= Pointer(spdm.caption);
    end;
      

  3.   

    procedure TfrmDemoTree.InitListView;
    //初始化ListView
    var
      name,strSQL:string;
      lvItem:TListItem;
      Tempqry:TQuery;
    begin
      Tempqry := TQuery.Create(self);
      try
        lvDemoTree.Items.Clear;       //清空
        name := tvDemoTree.Selected.Text;
        strSQL := ' select id '
                + ' from Tcity '
                + ' where name='''+name+'''';
        ExecQry(strSQL,dmDemoTree.qryLV,true);
        if not dmDemoTree.qryLV.Eof then
        begin
          strSQL := ' select * '
                  + ' from Tcity where parentid='
                  + inttostr(dmDemoTree.qryLV.fieldbyname('id').asinteger);
          ExecQry(strSQL,dmDemoTree.qryLV,true);
          while not dmDemoTree.qryLV.Eof do
          begin
            lvItem := lvDemoTree.Items.Add;
            lvItem.Caption := inttostr(dmDemoTree.qryLV.fieldbyname('id').AsInteger);
            lvItem.SubItems.Add(dmDemoTree.qryLV.fieldbyname('name').AsString);
            strSQL := ' select name '
                    + ' from Tcity '
                    + ' where id='
                    + inttostr(dmDemoTree.qryLV.fieldbyname('parentid').AsInteger);
            ExecQry(strSQL,Tempqry,true);
            lvItem.SubItems.Add(Tempqry.fieldbyname('name').AsString);
            dmDemoTree.qryLV.Next;
          end;
        end;
      finally
        Tempqry.Free;
      end;
    end;