Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Datagrid + Event MouseDown [ Windows / Formulaire / Winforms / Controls ] (sandra26)

mercredi 22 novembre 2006 à 14:19:23 | Datagrid + Event MouseDown

sandra26


salut,
jai un petit soucis avec mon datagrid, qd l'event MouseDown de mon datagrid se declenche apres avoir clické sur une ligne de mon datagrid, je narrive pas a determiner l'index de la ligne selectionnee; jusqua present j'utilisait datagrid.CurrentRowIndex ou bien datagrid.CurrentCell.RowNumber mais lun comme lautre me donnent toujours la row 0;
Quelqu'un aurait-il une solution pour connaitre la ligne selectionnee?
sandra

mercredi 22 novembre 2006 à 14:51:48 | Re : Datagrid + Event MouseDown

leprov

sur le mousedown, ta ligne n'est pas encore sélectionnée....cest donc normal que tu ne puisse pas la récupérer. selon ce que tu veux faire, tu as les event validating (lorsque tu quitte la cellule), CurrentCellChanged quand la valeur dune cellule a changér, etc.... bref, tout dépend de ce que tu veux faire (en plus travailler sur le mousexxx est pas tres propre....mais si tu veux quand meme travailler avec ca, travaille soit sur le mouseup soit sur click, mais surtout pas sur le down....regarde nimporte quel composant, si ton control recoit le down mais pas le up, il ne réagit pas...essaie sur un bouton en clickant, maintenant le click et relachant en dehors de la zone du controle....)

jeudi 23 novembre 2006 à 22:13:15 | Re : Datagrid + Event MouseDown

sandra26

alors en gros si jutlise le MouseUp tu penses que je pourrais recupere la valeur de ma ligne?
Sinon quesque je peux faire, en fait jai besoin de ces evenements car jutilise le Drag&Drop; lorsque lutilisateur drag une ligne dun datagrid a un autre jai besoin de connaitre la ligne choisie

sandra

samedi 25 novembre 2006 à 01:57:53 | Re : Datagrid + Event MouseDown

Malkuth

Membre Club
De mémoire il y'a des evenements du genre OnCellSelected,OnRowSelected....

lundi 27 novembre 2006 à 21:47:19 | Re : Datagrid + Event MouseDown

sandra26

en fait je ne sais pas comment faire autrement, je dois utiliser la mouseDown pour pouvoir faire drag and drop dun datagrid a un autre, ave le MouseUp ca ne marche pas, deplus je ne trouve pas de fonction OnCellSelected,OnRowSelected, aurait tu une solution a mon pb?

sandra

mardi 28 novembre 2006 à 09:51:47 | Re : Datagrid + Event MouseDown

Malkuth

Membre Club
C'est quel version de VB(VB6,VB.NET,VB2005) ? peut tu nous donner le  code qui te pose probleme.

vérifie si il n'y'a pas de méthode Hittest qui permet de determiner ce qui se trouve au coordonée x,Y du controle(en lui passant les coordonées du click).

mardi 28 novembre 2006 à 12:38:07 | Re : Datagrid + Event MouseDown

sandra26

je ne suis pas sur VB; jutilise C# 2003, en effet jutilise aussi la methode Hittest mais peut tu maiguiller un peu plus?
comment grace aux coordonnees je peux determiner la ligne ?, a vrai dire jy avais deja pense mais je nai pas d'idee sur la facon de passer d'une coordonee au numero de la ligne.
je vais tout de meme chercher encore, mais si tu pouvais maider ca serai encore mieux

sandra

mardi 28 novembre 2006 à 13:22:22 | Re : Datagrid + Event MouseDown

Malkuth

Membre Club
Réponse acceptée !
Un petit exemple de HitTest :

//récupération des infos de test

DataGrid.HitTestInfo HTInfo = dataGrid1.HitTest(5, 5);
//On vérifie si le click est sur une ligne du datagrid
if (HTInfo.Type == DataGrid.HitTestType.Cell || HTInfo.Type == DataGrid.HitTestType.RowHeader)
{
   //On Selctionne la ligne
   dataGrid1.CurrentRowIndex = HTInfo.Row;
}

Tu met ca dans ta fonction qui gére MouseDown, et tu remplace par les coordonnées de l'emplacement de la souri....

mardi 28 novembre 2006 à 13:24:28 | Re : Datagrid + Event MouseDown

sandra26

ok super merci je vais tout dfe suite le mettre en application
Merci de ton aide

sandra

lundi 8 janvier 2007 à 21:31:25 | Re : Datagrid + Event MouseDown

sandra26

salut,

je mexcuse mais jaurai encore une petite question,

en fait je voudrai trouver le numero de la li_gne en fonction de la position de ma souris

dans ton exemple tu te base sur une cellule, en fait tu sais deja de quelle cellule il sagit, seulement moi je nai que la position de ma souris et a partir de ca je voudrai connaitre la ligne.

jusqua present jutilisait le code suivant:

System.Drawing.Point pt = tab[ tabNum ].PointToClient(Cursor.Position);

DataGrid.HitTestInfo hti = tab[ tabNum ].HitTest(pt);

tab[tabNum].CurrentRowIndex = hti.Row;


seulement hti.Row reste toujours a -1 donc forcement ca bug... quesque je peux faire?

sandra



Cette discussion est classé dans : ligne, datagrid, event, mousedown, selectionnee


Répondre à ce message

Sujets en rapport avec ce message

DataGrid selection [ par mrpheus ] Bonjour,j'ai un petit porbleme avec un dataGirdQuand je clique dessu j'aimerais que tout la ligne sous selectionée.Quand je clique sur un champ, il me numéro de ligne d'un datagrid [ par tiboleo ] Bonjour,J'ai un datagrid avec en colonne ID_ACTION et NOM_ACTIONcomment connaitre la ligne de mon datagrid pour laquelle ID_ACTION=X ?(Je récupère le Colorier une seule ligne dans un datagrid [ par d0d0 ] Comment est il possible de colorier une seule ligne dans un datargid.MercidorianD0D0 Probleme de selection d'une ligne dans un datagrid [ par vonbier ] Salut, j'utilise visual studio.net avec c#. Voici mon probleme: J'ai une datagrid avec 3 colonnes de bouton ayant 3 fonctionnalités différentes. J'ai PB double click DataGrid [ par jdaviaud ] Une fois de plus j'ai besoin de votre aideDans un DataGrid, je veux pouvoir afficher un contextmenu quand je double click sur une ligne de résultatdon DataGrid et Click [ par fnadaus ] Bonjour tout le monde,Voila, j ai un DataGrid avec des WinForm,que j affiche sur une fenetre avec des informations dedans.J'aimerai, quand un utilisat Besoin d'un rappel Datagrid, et d'autres idées... [ par Kati83 ] Bonjour,J'ai mis en place un datagrid me permettant d'afficher des lignes classées suivant un indice.Voici les champs de mon datagrid : Indice || Text nbr de ligne d'1 dataGrid [ par oboudou ] Comemnt peut t'on compter le nombre de ligne que contien une datagrid (après un remplissage avec un dataset) ?Olivier Boudou Colorier une ligne d'un datagrid [ par Gabberzorus ] Je sais qu'il y a deja eu un post la dessus mais moi je voudrais savoir si il y a moyen de mettre une ligne NON SELECTIONNEE dans une certaine couleur Suppression dans un DataGrid [ par cedricvdm ] Bonjour,Comment est-il possible de supprimer une ligne dans un datagrid tout en empechant à l'utilisateur d'avoir accès à la ligne d'ajout ?Ou bien co


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 2,777 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.