Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1872 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Récupérer l'Index d'une ligne de DataGrid

 

Sujet(s) à lire :
    - Visual C++
 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer l'Index d'une ligne de DataGrid

n°1421881
tibik
It's time to switch
Posté le 07-08-2006 à 20:39:58  profilanswer
 

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

mood
Publicité
Posté le 07-08-2006 à 20:39:58  profilanswer
 

n°1421885
_Mose_
Lonesome coder
Posté le 07-08-2006 à 20:53:16  profilanswer
 

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 :
  1. if(sender == mydropdownlist[i])
  2.   // alors i est l'indice de ma ligne

n°1421888
tibik
It's time to switch
Posté le 07-08-2006 à 21:03:02  profilanswer
 

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++;
}

n°1421890
tibik
It's time to switch
Posté le 07-08-2006 à 21:03:55  profilanswer
 

i correspondera a la fin de la boucle a l'index de la ligne ou il a été cliké sur le dropdownlist

n°1422251
_Mose_
Lonesome coder
Posté le 08-08-2006 à 13:44:44  profilanswer
 

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
int i=0;
foreach(ItemDataGrid element in myDatagrid.Items)
{
  DropDownList dp = (DropDownList)element.FindControl("mydropdownlist" );
if (sender != dp)  i++;
}


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 :
  1. // BOUCLE DE RECHERCHE SUR MES DATAROWS
  2. int i = 0;
  3. DropDownList current = null;
  4. // la boucle continue :
  5. // tant que je n'arrive pas au bout de mes lignes
  6. while((i < myDatagrid.Items)
  7.   // ou si je ne trouve pas de drop down list dans ce row
  8.   && (null != (dp = (element.FindControl("mydropdownlist" ) as DropDownList)))
  9.   // ou si cette drop down list n'est pas celle que je cherche
  10.   && (dp  != sender))
  11.   i++;
  12. // si je ne suis pas arrivé au bout de mes lignes
  13. if(i < myDatagrid.Items)
  14.   // alors j'ai trouvé la ligne clickée
  15.   ....

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.

n°1425073
tibik
It's time to switch
Posté le 13-08-2006 à 16:47:47  profilanswer
 

désolé pour avoir répondu un peu tard
Merci ca a marché


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Récupérer l'Index d'une ligne de DataGrid

 

Sujets relatifs
Récupérer la clef rpimaire[MFC] effectuer un retour à la ligne ds un EDITTEXT
Batch - Faire une image de disque dur en ligne de commandeExporter le thème Windows en ligne de commande
Recuperer la valeur dans une liste déroulanteRecuperer le nombre d'enregistrement modifier avec un UPDATE
[Batch DOS] Recupérer le fichier le plus récent.[Résolu]Récupérer le nom d'un fichier à uploader
Récupérer le dernier caractère d'une ligne 
Plus de sujets relatifs à : Récupérer l'Index d'une ligne de DataGrid


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR