private void DgvRegTerr_Click(object sender, EventArgs e) { // Désactive le clic sur la dgv tant qu'un employé n'a pas été sélectionné if (cbEmployée.SelectedValue == null) { return; } // Pour toutes les lignes sélectionnées dans la dgv (sélection multiples possible) foreach (DataGridViewRow row in dgvRegTerr.SelectedRows) { // Cliquer sur une ligne check automatiquement la checkbox associée // Indispensable car la dgv est en ReadOnly (voir paramètres dgv) row.Cells["checkBoxColumn"].Value = row.Cells["checkBoxColumn"].Value ?? false; row.Cells["checkBoxColumn"].Value = !((bool)row.Cells["checkBoxColumn"].Value); var te = new TerritoireEmployé() { IdEmployé = (int)cbEmployée.SelectedValue, CodeTerritoire = row.Cells["CodeTerritoire"].Value.ToString() }; // si déjà présent dans la liste, la modification est annulée et l'objet retiré de la liste // sinon il est rajouté à la liste if (_lstTerritoiresEmployésAModifier.Contains(te)) { _lstTerritoiresEmployésAModifier.Remove(te); } else { _lstTerritoiresEmployésAModifier.Add(te); } } }
private static void RécupérerTerritoiresEmployésDepuisSqlDataReader(SqlDataReader reader, List <TerritoireEmployé> lstTerritoiresEmployés) { while (reader.Read()) { TerritoireEmployé terE = new TerritoireEmployé(); terE.CodeTerritoire = reader["TerritoryID"].ToString(); terE.IdEmployé = (int)reader["EmployeeID"]; lstTerritoiresEmployés.Add(terE); } }