ma nn mi sembra:

codice:
  private void frmPersonaleArchivio_Load(object sender, EventArgs e)
  {
      //  carica l'elenco record archiviati nel dgvArchivio
      CaricaRecordArchiviati();

      dgvArchivio.ClearSelection();
  }

  private void CaricaRecordArchiviati()
  {
      //  carica l'elenco record archiviati

      //  crea data adapter che prepara il comando sul db
      string sqlCmd = "";

      sqlCmd = "SELECT Anagrafiche_Archivio.Ordine AS ordine, Anagrafiche_Archivio.Ruolo AS ruolo, Anagrafiche_Archivio.DataScadenza AS 'scad. presunta', Anagrafiche_2_Archivio.Desc_aff_org AS 'afferenza org.'";
      sqlCmd += " FROM Anagrafiche_Archivio INNER JOIN Anagrafiche_2_Archivio ON Anagrafiche_Archivio.matricola = Anagrafiche_2_Archivio.matricola WHERE Anagrafiche_Archivio.matricola = '" + _matricola + "'";
      sqlCmd += " AND Anagrafiche_Archivio.Ordine = Anagrafiche_2_Archivio.Ordine";
      sqlCmd += " ORDER BY Anagrafiche_Archivio.Ordine DESC";

      SqlDataAdapter daArchivio = new SqlDataAdapter(sqlCmd, Program.strConnDB);
      //  crea un data table e lo popola con il risultato del comando eseguito dal data adapter
      DataTable dtArchivio = new DataTable();
      daArchivio.Fill(dtArchivio);
      //  numero risultati
      _records = dtArchivio.Rows.Count;


      //  crea un binding source e lo collega al lato dati
      BindingSource bsArchivio = new BindingSource();
      bsArchivio.DataSource = dtArchivio;
      //  collega il lato visuale del binding source al datagridview
      dgvArchivio.DataSource = bsArchivio;
      
      //  libera memoria (ove possibile)
      daArchivio.Dispose();
      daArchivio = null;
      dtArchivio.Dispose();
      dtArchivio = null;
      
      //  formattazione colonne
      dgvArchivio.Columns["ordine"].Width = 40;
      dgvArchivio.Columns["ruolo"].Width = 40;
      dgvArchivio.Columns["scad. presunta"].Width = 68;
      dgvArchivio.Columns["afferenza org."].Width = 194;
  }

  private void dgvArchivio_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
  {
      //  apre la scheda dati del record selezionato su doppio click header riga
      int indice = dgvArchivio.CurrentRow.Index;

      SelezionaRecord(indice);
  }

  private void dgvArchivio_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
  {
      // selezionando una cella viene selezionata in autom. l'intera riga
      dgvArchivio.CurrentRow.Selected = true;
  }