private void listViewResultats_ColumnClick(object sender, ColumnClickEventArgs e) { try { listViewResultats.BeginUpdate(); switch (e.Column) { case 0: LesRapports.Sort(new TriRapports(CompareNom, ordreNom)); if (ordreNom == TriOrdre.ASC) { ordreNom = TriOrdre.DESC; } else { ordreNom = TriOrdre.ASC; } listViewResultats.VirtualListSize = LesRapports.Count; break; case 1: LesRapports.Sort(new TriRapports(CompareCoordonnees, ordreCoordonnees)); if (ordreCoordonnees == TriOrdre.ASC) { ordreCoordonnees = TriOrdre.DESC; } else { ordreCoordonnees = TriOrdre.ASC; } listViewResultats.VirtualListSize = LesRapports.Count; break; case 2: LesRapports.Sort(new TriRapports(CompareMetal, ordreMetal)); if (ordreMetal == TriOrdre.ASC) { ordreMetal = TriOrdre.DESC; } else { ordreMetal = TriOrdre.ASC; } listViewResultats.VirtualListSize = LesRapports.Count; break; case 3: LesRapports.Sort(new TriRapports(CompareCristal, ordreCristal)); if (ordreCristal == TriOrdre.ASC) { ordreCristal = TriOrdre.DESC; } else { ordreCristal = TriOrdre.ASC; } listViewResultats.VirtualListSize = LesRapports.Count; break; case 4: LesRapports.Sort(new TriRapports(CompareDeuterium, ordreDeut)); if (ordreDeut == TriOrdre.ASC) { ordreDeut = TriOrdre.DESC; } else { ordreDeut = TriOrdre.ASC; } listViewResultats.VirtualListSize = LesRapports.Count; break; case 5: LesRapports.Sort(new TriRapports(CompareRessources, ordreTotalGT)); if (ordreTotalGT == TriOrdre.ASC) { ordreTotalGT = TriOrdre.DESC; } else { ordreTotalGT = TriOrdre.ASC; } listViewResultats.VirtualListSize = LesRapports.Count; break; case 6: LesRapports.Sort(new TriRapports(CompareRessources, ordreTotalPT)); if (ordreTotalPT == TriOrdre.ASC) { ordreTotalPT = TriOrdre.DESC; } else { ordreTotalPT = TriOrdre.ASC; } listViewResultats.VirtualListSize = LesRapports.Count; break; case 7: LesRapports.Sort(new TriRapports(CompareRuinesPotentielles, ordreRuinesPotentielles)); if (ordreRuinesPotentielles == TriOrdre.ASC) { ordreRuinesPotentielles = TriOrdre.DESC; } else { ordreRuinesPotentielles = TriOrdre.ASC; } listViewResultats.VirtualListSize = LesRapports.Count; break; case 8: LesRapports.Sort(new TriRapports(CompareDefenses, ordreDefenses)); if (ordreDefenses == TriOrdre.ASC) { ordreDefenses = TriOrdre.DESC; } else { ordreDefenses = TriOrdre.ASC; } listViewResultats.VirtualListSize = LesRapports.Count; break; } } finally { listViewResultats.EndUpdate(); } }
public TriRapports(Comparateur comp, TriOrdre ordre) { this.c = comp; this.ordre = ordre; }