2010-07-25 17 views
0

bien i ont un programme et je l'ai développé par C# et WPF avec Visual Studio 2010,DataSource datagridview ne change pas après le tri

j'ai une fenêtre qui contient une forme de fenêtres datagridview (en raison de l'utilisation de. Net Framework 3.5 pour Windows 7 support) je veux l'utilisateur peut trier des données dans datagridview dans n'importe quel style qu'il/elle veut et enfin il/elle peut appuyer sur entrer dans une cellule de datagridview qu'il/elle a sélectionné et ensuite ouvrir une fenêtre détaillée a propos de cette ligne dans datagridview, tout allait bien, sauf une chose à l'importation, j'utilise dataSource DataGrid dans mon code comme ceci:

if (gridView.SelectedCells.Count == 0) return; 
      int index = gridView.SelectedCells[0].RowIndex - 1; 

mais cela ne fonctionne pas bien parce que la source de données de datagridview n'a pas changé même un peu après tout le travail de tri et c'est toujours exactement comme avant ...

pourquoi? et que puis-je faire pour mettre à jour cette source de données après le tri ou une meilleure façon de le faire?

Merci à tous, Cordialement,

Omid

Répondre

2

On dirait que vous vous attendez à DataGridView de modifier la source de données - qui ne sera pas (toujours) être fait dans le cas d'une espèce en cours d'exécution.

Plutôt que de mettre la main sur l'élément RowIndex de la cellule sélectionnée, si vous voulez l'élément de données sous-jacent associé à cette ligne, essayez d'obtenir le "DataBoundItem" de l'objet Row.

+0

Salut Will, pouvez-vous me donner un exemple de code de ce que vous dites? – omid