delphi刚入道,请教如何往ListView中添加信息? 最好给个例子?马上给分!

解决方案 »

  1.   

    procedure TForm1.FormCreate(Sender: TObject);const
      Names: array[0..5, 0..1] of string = (
        ('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.   

    listview.viewstyle:=vsreport;
    procedure NewItem(obj:tObject;ID:Integer;code:String;Image:Integer):tListItem;
    Var 
       Itemx:tListItem;
       Pdata:Pinteger;
    begin
       Itemx:=obj.items.add;
       Itemx.caption:=code;
       Itemx.Imagelist:=Image;   New(Pdata);
       Pdata^:=ID;
       Itemx.data:=Pdata;
       
       result:=Itemx;
    end;procedure InsertValues(ID:Integer;code,name:String);
    var 
       Item:tListItem;
    begin
       Item:=NewItem(ListView1,ID,code,1);
       Item.subitems.add(name);
    end;调用:
       InsertValues(adoquery.fieldvalues['id'],adoquery.fieldvalues,['code'],adoquery.fieldvalues['name']);
    试一下,没有调试
      

  3.   

    procedure Tfrm_Main.GoSearch();
    var
      schSql:string;
      schQry:TADOQuery;
    begin
      schSql:='Select * from view_all_product where 1=1';
      if trim(edit_Lowprice.Text)<>'' then    //成交价下区间不为空
          schSql:=schSql+'and bargain_price>='+(trim(edit_LowPrice.Text));
          
      if trim(edit_HighPrice.Text)<>'' then //成交价上区间不为空
        schSql:=schSql+' and bargain_price<='+trim(edit_HighPrice.Text);  if cmb_FirCatalog.ItemIndex > 0 then  //一级目录不为空
      begin
        if cmb_SecCatalog.ItemIndex > 0 then  //二级目录不为空
        begin
          if cmb_ThiCatalog.ItemIndex > 0 then    //三级目录不为空
            schSql:=schSql+' and third_name='''+trim(cmb_ThiCatalog.Text)+''' and first_name='''+trim(cmb_FirCatalog.Text)+''' and second_name='''+trim(cmb_SecCatalog.Text)+''''
          else
            schSql:=schSql+' and second_name='''+trim(cmb_SecCatalog.Text)+''' and first_name='''+trim(cmb_FirCatalog.Text)+'''';
        end
        else
          schSql:=schSql+' and first_name='''+trim(cmb_FirCatalog.Text)+'''';
      end;  if cmb_ComName.ItemIndex > 0 then    //拍卖公司不为空
        schSql:=schSql+' and companyname='''+trim(cmb_ComName.Text)+'''';
      if trim(edit_Author.Text)<>'' then    //作者不为空
        schSql:=schSql+' and product_author like''%'+trim(edit_Author.Text)+'%''';  if trim(edit_GoodNum.Text)<>'' then   //拍品序号不为空
        schSql:=schSql+' and product_code like'''+trim(edit_GoodNum.Text)+'%''';
      if trim(edit_GoodName.Text)<>'' then  //拍品名称不为空
        schSql:=schSql+' and product_name like''%'+trim(edit_GoodName.Text)+'%''';  schSql:=schSql+' order by bargain_price desc,companyname';
      ListView_Topten.Show;
      ListView_Topten.Items.Clear;
      try
        schQry:=TADOQuery.Create(self);
        schQry.ConnectionString:=DBLink;
        schQry.SQL.Clear;
        schQry.SQL.Add(schSql);
        schQry.Open;
        schQry.First;
        while not schQry.Eof do
        begin
          With ListView_Topten.Items.Add do
          begin
            Caption := schQry.FieldByName('product_code').AsString;  //拍品序号
            SubItems.Add(schQry.FieldByName('product_name').AsString); //拍品名称
            SubItems.Add(schQry.FieldByName('product_years').AsString);  //年代
            SubItems.Add(schQry.FieldByName('product_size').AsString); //尺寸
            SubItems.Add(schQry.FieldByName('product_author').AsString); //作者
            SubItems.Add(schQry.FieldByName('bargain_moneycode').AsString);  //成交货币类型
            SubItems.Add(schQry.FieldByName('bargain_price').AsString);  //成交价
            SubItems.Add(schQry.FieldByName('bargain_date').AsString); //成交时间
            SubItems.Add(schQry.FieldByName('companyname').AsString);  //拍卖公司
          end;
          schQry.Next;
        end;
        schQry.Close;
        schQry.Free;
      except
        MessageDlg('查询失败',mtError,[mbok],0);
      end;
    end;
    最近也在写向listview中添加数据,凑合这样吧