2009-05-20 6 views
1

Cela semble assez étrange. J'ai un Datagrid (.net 3.5 cf) que je lie à une liste ou un inventaire []. Lorsque je clique sur une ligne puis appuie sur un bouton pour effectuer une action lorsque je me lie à une liste CurrentRowIndex est -1. Lorsque je lie à Inventory [] et exécute la même action CurrentRowIndex revient avec la ligne sélectionnée, pourquoi est-ce ??Datagrid CurrentRowIndex renvoie -1?

grdBatch.DataSource = InventoryItems.ToArray(); 

vs

grdBatch.DataSource = InventoryItems; 
+0

J'ai rencontré un problème similaire avec un DataGrid .NET CF 2.0. Il semble que quelque chose à voir avec le DataGrid étant placé dans un TabPage mais je n'ai pas encore compris pourquoi cela se produit. –

Répondre

0

Hmmm, je ne parviens pas à reproduire le problème (tableau et la liste fonctionnent parfaitement pour moi). Quel est le système cible? Aussi, quelle est l'opération que vous effectuez?

Vous pourriez essayer d'utiliser une BindingSource comme intermédiaire entre votre liste et votre grille de données, mais vous ne savez pas si cela vous serait utile. Quelque chose le long de ces lignes:

BindingSource bs = new BindingSource(); 
bs.DataSource = InventoryItems; 
grdBatch.DataSource = bs;