Bonjour,
Je teste l'utilisation d'une base de données en c#.
J'utilise pour cela une base de données SQLite avec Dapper.SimpleCRUD.
Je cherche actuellement faire des tris sur un DataDridView.
Voici mon code :
J'obtiens l'erreur suivante : System.InvalidOperationException*: 'L'opération ne peut être effectuée que sur des cellules appartenant au contrôle DataGridView.' sur les lignes 22 et 22.
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 private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { DataGridViewColumn column = dataGridView1.Columns[e.ColumnIndex]; if (column != null) { isAsc = (sortCol == null) || (column.DataPropertyName != sortCol.DataPropertyName) || (!isAsc); string direction = isAsc ? "ASC" : "DESC"; using (con = AccesDB.GetConnection()) { userBindingSource.DataSource = con.GetList<User>($"order by {column.DataPropertyName} {direction}"); } if (sortCol != null) { sortCol.HeaderCell.SortGlyphDirection = SortOrder.None; } column.HeaderCell.SortGlyphDirection = isAsc ? SortOrder.Ascending : SortOrder.Descending; sortCol = column; } }
Lorsque je les commente, les tris fonctionnent correctement.
Merci de votre aide ou vos commentaires si il est possible de simplifier ce code.
Partager