Récupérer l'Index d'une ligne de DataGrid - C#/.NET managed - Programmation
Marsh Posté le 07-08-2006 à 20:53:16
Dans la méthode qui est apellée quand l'évènement de changement de valeur est lancé, tu as un paramètre 'sender'.
C'est l'instance de la DropDownList qui a lancé l'évènement.
Pour savoir à quelle ligne elle correspond, tu fais une boucle sur toutes des DropDownList, jusqu'à ce que tu trouves la bonne :
Code :
|
Marsh Posté le 07-08-2006 à 21:03:02
a quoi correspond mydropdownlist? si c'est l'ID du dropdownlst sur la colonnes du datagrid alors est ce que l'écriture dmdropdownlist[i] est juste ou devrai je mettre
int i=0;
foreach(ItemDataGrid element in myDatagrid.Items)
{
DropDownList dp = (DropDownList)element.FindConntrol("mydropdownlist" );
if (sender != dp) i++;
}
Marsh Posté le 07-08-2006 à 21:03:55
i correspondera a la fin de la boucle a l'index de la ligne ou il a été cliké sur le dropdownlist
Marsh Posté le 08-08-2006 à 13:44:44
tibik a écrit : a quoi correspond mydropdownlist? si c'est l'ID du dropdownlst sur la colonnes du datagrid alors est ce que l'écriture dmdropdownlist[i] est juste ou devrai je mettre |
Ouaip, c'est ça, sauf que ton foreach il est pas top : si tu as 100 lignes, et que tu clickes sur la première, tu ne sortiras pas de ta boucle avant d'avoir tout parcouru.
Je conseille un :
Code :
|
Beaucoup plus propre, mais un peu plus long à écrire.
Sinon, tu peux aussi faire un foreach/break mais c'est crado. A éviter pour un boulot professionnel ou si d'autres personnes sont susceptibles de bosser sur ton code après.
Marsh Posté le 07-08-2006 à 20:39:58
salut tous,
j'ai un datagrid avec une colonne qui contient des DropDownList avec id="dp1". je voudrais récupérer l'index de la ligne ou il a été cliké dans le datagrid, c a d qu'au moment ou on sélectionne quelque chose sur le dropdownlist, on récupère l'index de cette ligne du datagrid.
Merci infiniment