Bonjour à tous,

Comme toujours, je me casse la tête durant mille ans sur un problème super simple... Au menu aujourd'hui, obtenir un dataGridView trié même lors d'insertion de nouvelle ligne...
Evidemment, après mille et un détour, la solution est vraiment, vraiment très simple.

Je le poste ici pour permettre aux autres personnes qui comme moi rendent les problème simple très, trop compliqué... de gagner un peu de temps

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
initializeComponent()
{
// genere par Visual 
this->dataGridViewLog = (gcnew System::Windows::Forms::DataGridView());
this->dataGridViewLog->RowsAdded += gcnew System::Windows::Forms::DataGridViewRowsAddedEventHandler(this, &Form1::dataGridViewLog_RowsAdded);
// fin
}
 
//methode appelee lors de l'ajout d'une ligne au datagridview
void Form1::dataGridViewLog_RowsAdded(System::Object^  sender, System::Windows::Forms::DataGridViewRowsAddedEventArgs^  e) 
{
  //si le tri actuel est ascendant
  if(dataGridViewLog->SortOrder == SortOrder::Ascending)
  {
    //trie le datagridview en fonction de la dernière colonne choisit pour le tri
    dataGridViewLog->Sort(dataGridViewLog->SortedColumn, System::ComponentModel::ListSortDirection::Ascending);
  }
  //si le tri actuel est descendant
  else if(dataGridViewLog->SortOrder == SortOrder::Descending)
  {
    //trie le datagridview en fonction de la dernière colonne choisit pour le tri
    dataGridViewLog->Sort(dataGridViewLog->SortedColumn, System::ComponentModel::ListSortDirection::Descending);
 
  }
}
En espérant que ca serve...