Bonjour à tous,
Pour mon premier message, un problème où malgré toutes mes recherches je n'ai pu trouver de solution.
J'ai un datagrid que je remplis à l'aide d'une table de ma BDD, en passant par un dataset.
Lors de mon affichage, j'utilise un datagridtablestyle. Je peux aussi cliquer sur une colonne pour trier mes données, ca marche.
Le problème c'est que les index des lignes ne changent pas dans mon datagrid lors du tri. Après un tri, si l'utilisateur clicque sur le bouton modifier, qui lui récupère l'index de la ligne qui a le focus, la ligne considérée est celle qui était à cet index avant le tri.
Un bout du code de mon évenement clique sur modifier ou j'aimerais récupérer le bon numéro d'index :
1 2
| int currentIndex = m_Form.m_dataGrid.CurrentRowIndex;
m_dataTable.Rows[currentIndex]["Nom"] = textBoxNom.Text; |
En gros une fois le datagrid trié, les index ne sont pas mis à jour. Je n'ai rien trouvé concernant ce problème nulle part, mais j'ai plusieurs pistes éventuelles :
-faire du databinding ?
-utiliser des view ?
Pour l'instant j'ai désactivé le tri du tableau (fallait déjà savoir qu'il la propriété AllowSorting de la datagrid devient inutile si l'on définit un datagridtablestyle !!) :
m_dataGrid.m_TableStyle.AllowSorting = false;
Mais pouvoir trier les colonnes que l'on veut quand l'on veut c'est quand même plus sympa.
J'espère que mon problème est clair et que vous allez pouvoir m'orienter
Partager