ListView控件的用法;
如果一行没有添满的话,如果让它从下一行添加?
用程序实现

解决方案 »

  1.   

    比如说一行可以添加五个ListItem才可以将一行刚好添满,但是现在,我在第一行只添加了三个ListItem,就准备从第二行开始重新添加,如何实现?
      

  2.   

    我给你一段源吗,你可以根据自己的需要改动。 
    listview4.Items.Clear ;
                  while Not eof do
                     begin
                        listitem1:=listview4.Items.Add ;
                        listitem1.Caption :=adoquery3.Fields[0].AsString;
                        listitem1.SubItems.Add(adoquery3.Fields[1].AsString);
                        listitem1.SubItems.Add(adoquery3.Fields[2].AsString);
                        listitem1.SubItems.Add(adoquery3.Fields[3].AsString);
                        listitem1.SubItems.Add(adoquery3.Fields[4].AsString);
                        listitem1.SubItems.Add(adoquery3.Fields[5].AsString);
                        listitem1.SubItems.Add(adoquery3.Fields[6].AsString);
                        listitem1.SubItems.Add(adoquery3.Fields[7].AsString);
                        listitem1.SubItems.Add(adoquery3.Fields[8].AsString);
                        listitem1.SubItems.Add(adoquery3.Fields[9].AsString);
                        listitem1.SubItems.Add(adoquery3.Fields[10].AsString);
                        listitem1.SubItems.Add(adoquery3.Fields[11].AsString);
                        listitem1.SubItems.Add(adoquery3.Fields[12].AsString);
                        listitem1.SubItems.Add(adoquery3.Fields[13].AsString); //隐藏字段用于记录sellstatus_id 字段值
                        listitem1.SubItems.Add(adoquery3.Fields[14].AsString); //隐藏字段用于记录sellstatus_id 字段值
                        Next;
                        listview4.Refresh;
                     end;
                     listview4.Update ;
      

  3.   

    还要加上变量定义
    var
    listitem1:tlistitem;
      

  4.   

    TO Nizvoo 
    是自动转行
      

  5.   

    你可以变通一种方法的;
    procedure TmnsjFrm.TreeView1Click(Sender: TObject);
    var
      L : TListItem;
      bhString,bmString : String;
      BookName,Bookzz,Bookdj,Bookgsd : String;
    begin
      if TreeView1.Selected.Text <> '' then
      begin
        with DataModule1.pd_Query do
        begin
          Close;
          UnprePare;
          SQL.Clear;
          SQL.Add('Select * from tsg_Book where Book_yjfl = ' + '''' + TreeView1.Selected.Text + '''');
          PrePare;
          Open;
          Try
          First;
          ListView1.Clear;
          While Not Eof do
          begin
            //L := ListView1.Items.Add;
            bhString := FieldByName('Book_bh').AsString;
            BookName := FieldByName('Book_Name').AsString;
            Bookzz :=FieldByName('Book_author').AsString;//作者
            Bookdj := FieldByName('Book_dj').AsString;
            Bookgsd := FieldByName('Book_gsd').AsString;
            with DataModule1.lsbQuery do
            begin
              Close;
              UnPrePare;
              SQL.Clear;
              SQL.Add('Select * from tsg_Booktxm where Booktxm_Book = ' + bhString + 'and BookTxm_flag = ' + '''' + '副本' + '''' );
              PrePare;
              Open;
              First;
              while Not Eof do
              begin
                bmString := FieldByName('BookTxm_bm').AsString;
                with DataModule1.lsb_Query do
                begin
                  Close;
                  UnPrePare;
                  SQL.Clear;
                  SQL.Add('Select * from tsg_jyk where jyk_Txm Like ' + '''' + '9761' + bmString + '%' +'''' + '  order by jyk_bh');
                  PrePare;
                  Open;
                  L := ListView1.Items.Add;
                  L.Caption := BookName;
                  L.SubItems.Add(Bookzz);
                  L.SubItems.Add(Bookdj);
                  if RecordCount = 0 then
                  begin
                    L.SubItems.Add(Bookgsd);
                    L.SubItems.Add('未借出');
                  end else
                  begin
                    Last;
                    if FieldByName('jyk_flag').AsInteger = 0 then
                      begin
                        L.SubItems.Add('已借出');
                        L.SubItems.Add('借出') ;
                      end else
                      begin
                        L.SubItems.Add(FieldByName('Jyk_hsd').AsString );
                        L.SubItems.Add('未借出');
                      end;
                  end;
                end;
                Next;
              end;
            end;
            Next;
          end;
          Label3.Caption := TreeView1.Selected.Text;
          Label4.Caption := IntToStr(DataModule1.lsbQuery.RecordCount);
          Except;
            ;
          end;
          Next;
        end;
      end;
    end;