在DBGrid中开启多选功能后,我怎样得到同时选中的几项数据?要求能有具体的实现语句.谢谢

解决方案 »

  1.   

    procedure TfrmChild6.btnAddToListClick(Sender: TObject);
    var
      data: TDataSet;
      i: integer;
    begin
      if DBGrid1.SelectedRows.Count = 0 then Exit;
      data := DBGrid1.DataSource.DataSet;
      Found := False;
      for i := 0 to DBGrid1.SelectedRows.Count - 1 do
      begin
        data.GotoBook(Pointer(DBGrid1.SelectedRows.Items[i]));
        with DBGrid1 do
        begin
          //Fields[0].Value
        end;
      end;
    end;
      

  2.   

    if DBGrid1.SelectedRows.Count>0 then
        with DBGrid1.DataSource.DataSet do
          for i:=0 to DBGrid1.SelectedRows.Count-1 do
          begin
            GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
            for j := 0 to FieldCount-1 do
            begin          if (j>0) then s:=s+', ';
              s:=s+Fields[j].AsString;
            end;
            Listbox1.Items.Add(s);
            s:= '';
          end;
      

  3.   

    用DBGridEh
    dgMultiSelect设置为Trueprocedure TForm1.Button1Click(Sender: TObject);
    var
      i:integer;
    begin
      if  DBGridEh1.SelectedRows.Count > 0 then
      begin
      with  DBGridEh1.DataSource.DataSet  do
      begin
        for i := 0 to DBGridEh1.SelectedRows.Count -1 do
        begin
          Gotobook(pointer(DBGridEh1.SelectedRows.items[i]));
          showmessage(FieldByName('a').AsString);
       end;  end;
      end;
    end;