dbgrid可選多行,怎樣得到選中的紀錄

解决方案 »

  1.   

    var
     i:integer;
     aaa:string;if DBGrid1.SelectedRows.Count > 0 then
      begin
        for i := 0  to DBGrid1.SelectedRows.Count - 1  do
        begin
          ADOQuery1.GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
          aaa:= ADOQuery1.FieldByName('CustNo').AsString;  
        end;
      end;
      

  2.   

    这是多选记录删除的例子  if DBGrid.SelectedRows.Count > 0 then //多条记录被选择
      begin  
        for i := 0 to DBGrid.SelectedRows.Count - 1 do
        begin
          Table.GotoBook(pointer(DBGrid.SelectedRows[i]));
          Table.delete;
        end;
      end;
      

  3.   

    首先要设置为多行选择!然后
    var
      i,rows:integer;
    begin
     rows:=dbgrid1.SelectedRows.Count;
     for i:=0 to rows-1 do
      begin
        DBGrid1.DataSource.DataSet.GotoBook(pointer(dbgrid1.SelectedRows.Items[i]));
        showmessage(DBGrid1.DataSource.DataSet.Fields[1].AsString);
      end;
    end;