procedure TForm1.Button1Click(Sender: TObject);
var
  i, j: Integer;
  s: string;
begin
  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;
end;

解决方案 »

  1.   

    for i:=0 to DMsea1.Qche.RecordCount -1 do begin
      if DBGrid1.SelectedRows.CurrentRowSelected then
         ListBox1.items.add(DMsea1.Qche.Fields[0].asstring);         
           DMsea1.Qche.Next;
          end;
      

  2.   

    要那么复杂吗?选好Dbgrid,在ObjectInspector里头:
      Opitons->dgMultiSelect->True
      

  3.   

    不好意思,看错了,我想行应该有Selected标志吧
      

  4.   

    with DBGrid1, DBGrid1.DataSourece.DataSet do begin
      First;
      while not Eof do begin
        SelectedRows.CurrentRowSelected := True;
        Next;
      end;
    end;
      

  5.   

    请线设置sgMutiSelect := true ;
    procedure TCLCK_KCJZ_Form.b_SelectAllClick(Sender: TObject);
    var
    i:integer;
    begin
        if tmxzjbb.Active then
        begin
            tmxzjbb.First;
            i := 0;
            while not tmxzjbb.Eof do
            begin
                dbg_mxzlb.SelectedRows.CurrentRowSelected := true;
                tmxzjbb.Next;
                i := i + 1;
            end;
        end;
    end;
      

  6.   

    将与DBGrid相关联的DataSet移动到需要选定的记录,执行DBGrid1.SelectedRows.CurrentRowSelected := True;
    就能选定该行。
    提取时:with DBGrid1 do
    begin
      For i:=0 to SelectedRows.Count do
      begin
        DataSource.DataSet.GotoBook(SelectedRows.Items[i]);
        ....
      end;
    end;
      

  7.   

    dbg_mxzlb.SelectedRows.CurrentRowSelected := true;
    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 i := 0 to FieldCount-1 do
            begin
              s:=Fields[i].AsString;//提取记录
            end;
          end;