怎么点一下dbgrid中的一项,就把那一项内容,添加到listview的相对应的字段中啊?

解决方案 »

  1.   

    1.取所选项的值
       通过 dbgrid..datasource.dataset.fieldbyname()
    2.调用listview的additem方法
      

  2.   

    前几天好象有人问过这样的问题,你可以搜索一下!
    思路是: 
    var   MyList:TStrings;
    begin
    DBGrid1.DataSource.DataSet.GotoBook(pointer(DBGrid1.SelectedRows.Items[i])) ; //定位
      ListView1.Items.Add.Caption:=DBGrid1.DataSource.DataSet.Fields[0].asstring;
      MyList:=TStringList.Create; 
      fpr i:=1 to DBGrid1.DataSource.DataSet.FieldCount-1 do
      begin
        MyList.add(DBGrid1.DataSource.DataSet.Fields[1].asstring;)
    ........  end;
      ListView1.Items.Add.SubItems:=MyList;
      

  3.   

    没那么麻烦吧,试试这样,加在dbgrid的oncellclick里
    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
      listbox1.Items.Add(Column.Field.AsString);
    end;
      

  4.   

    不好意思!上面的代码有些问题!
    应该是:
    var 
      i,j:integer;
      MyItems: array of TListItem;
    begin
      SetLength(MyItems,DBGrid1.SelectedRows.Count-1);
      for i:=0 to DBGrid1.SelectedRows.Count-1 do
      begin
        DBGrid1.DataSource.DataSet.GotoBook(pointer (DBGrid1.SelectedRows.Items[i])) ; //定位
        MyItems[i]:=ListView1.Items.Add;
        MyItems[i].Caption :=DBGrid1.DataSource.DataSet.Fields[0].asstring ;
         for j:=1 to DBGrid1.DataSource.DataSet.FieldCount-1 do
           MyItems[i].SubItems.add(DBGrid1.DataSource.DataSet.Fields[j].asstring;)
      end;
    end;
      

  5.   

    哦,我用的是listbox,应该是大同小异,总之是加在oncellclick里了。
      

  6.   

    按delphi_xizhousheng(西周生) 的办法也是不行啊,一运行就出错