sandra26
Messages postés92Date d'inscriptionmercredi 5 juillet 2006StatutMembreDernière intervention 5 août 2009
-
22 nov. 2006 à 14:19
sandra26
Messages postés92Date d'inscriptionmercredi 5 juillet 2006StatutMembreDernière intervention 5 août 2009
-
8 janv. 2007 à 21:31
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
//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....
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 22 nov. 2006 à 14:51
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....)
sandra26
Messages postés92Date d'inscriptionmercredi 5 juillet 2006StatutMembreDernière intervention 5 août 2009 23 nov. 2006 à 22:13
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
sandra26
Messages postés92Date d'inscriptionmercredi 5 juillet 2006StatutMembreDernière intervention 5 août 2009 27 nov. 2006 à 21:47
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?
cs_Malkuth
Messages postés268Date d'inscriptionsamedi 22 février 2003StatutMembreDernière intervention24 avril 20134 28 nov. 2006 à 09:51
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).
sandra26
Messages postés92Date d'inscriptionmercredi 5 juillet 2006StatutMembreDernière intervention 5 août 2009 28 nov. 2006 à 12:38
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
sandra26
Messages postés92Date d'inscriptionmercredi 5 juillet 2006StatutMembreDernière intervention 5 août 2009 8 janv. 2007 à 21:31
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.