MsFlexGrid et Selchange()

Signaler
Messages postés
6
Date d'inscription
lundi 25 octobre 2004
Statut
Membre
Dernière intervention
26 octobre 2004
-
Messages postés
135
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
12 juillet 2006
-
Bonjour à tous,
Voilà mon pb : je charge un Msflexgrid à partir d'un ficher texte. Une fois le tableau rempli, je veux selectionner une ligne entiere en faisant un

Grid1.Col = 0
Grid1.ColSel = Grid1.Cols - 1

de façon à forcer le passage dans l'evenement Selchange(), mais rien ne se passe..

Pouvez-vous m'aider s'il vous plait ??

10 réponses

Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1
Verifie la propriete du flexgrid (Clic droite sur le control)

HightLight=Toujours et SelectionMode=ParLigne

Flex1.Row = 5
Flex1.Col = 0
Flex1.ColSel = Flex1.Cols - 1
Flex1.SetFocus

:-p [mailto:cyberscorp2004@msn.com MSN] :big) [mailto:frop01@yahoo.fr YAHOO] >:)

Membre du club CodeS-SourceS
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 110 internautes nous ont dit merci ce mois-ci

Messages postés
6
Date d'inscription
lundi 25 octobre 2004
Statut
Membre
Dernière intervention
26 octobre 2004
1
Salut,
Mon FlexGrid a déjà ces 2 propriétés de définies. En fait, mon pb vient surtout du fait que je n'arrive pas à forcer le passage dans l'évenement Selchange.
En théorie, le simple fait de faire
Flex1.Col = 0
Flex1.ColSel = Flex1.Cols - 1
provoque le passage dans l'evenement Selchange(). Or chez moi rien ne se passe, et tout le code qui doit s'executer alors passe à la trappe...
Je me demande si ce n'est pas lié à un bug microsoft..

Je suis en Vb 6.0 sp6 et Win98...
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 110 internautes nous ont dit merci ce mois-ci

Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1
l'évenement selchange s'execute par la suite de l'événement MouseUp .

Il faut changer ton code de l'evenement SelChange à RowColChange (ca va marcher)

:-p [mailto:cyberscorp2004@msn.com MSN] :big) [mailto:frop01@yahoo.fr YAHOO] >:)

Membre du club CodeS-SourceS
Messages postés
6
Date d'inscription
lundi 25 octobre 2004
Statut
Membre
Dernière intervention
26 octobre 2004
1
Quand je mets le code du SelChange dans le RowColChange, c'est la même chose. Ca marche pour les lignes du tableau, sauf la première.

Maintenant une fois mon tableau remplie, est-il possible de déclencher cet evenement pour la première ligne du tableau ?

Merci d'avance,
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1
Postes tout le code dans ce message!

:-p [mailto:cyberscorp2004@msn.com MSN] :big) [mailto:frop01@yahoo.fr YAHOO] >:)

Membre du club CodeS-SourceS
Messages postés
6
Date d'inscription
lundi 25 octobre 2004
Statut
Membre
Dernière intervention
26 octobre 2004
1
Ben ça aurait été avec plaisir, mais j'peux pas, y'a trop de lignes...
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1
pas tout tout tout le code mais juste la partie SelChange et la partie où est Flex1.Col = 0 : Flex1.ColSel = Flex1.Cols - 1

:-p [mailto:cyberscorp2004@msn.com MSN] :big) [mailto:frop01@yahoo.fr YAHOO] >:)

Membre du club CodeS-SourceS
Messages postés
6
Date d'inscription
lundi 25 octobre 2004
Statut
Membre
Dernière intervention
26 octobre 2004
1
Je ne peux vraiment pas, je vais plutôt reprendre mon pb depuis le début ce sera plus simple.

1 - je charge un FlexGrid à partir de données lues dans un fichier texte. Jusque là tout se passe bien.

2 - A partir des lignes de ce FlexGrid, je dois charger un 2ème FlexGrid en fonction de la ligne selectionnée dans le 1er..C'est là que les ennuis commencent...

Lorsque mon 1er FlexGrid est chargé, j'ai bien la 1ere ligne de selectionnée, mais mon 2eme Grid ne réagit pas...Je suis obligé de cliquer sur la 2ème ligne du Grid1, puis de revenir sur la 1ere ligne pour que ç marche...Seulement, dans le cas où mon 1er Grid ne possède qu'une seule ligne, ben ça marche plus...
Le code pour remplir le 2ème Grid se trouve dans le RowColChange du 1er Grid...

Dans mon Form_Load j'ai mis Grid1.Col=0 Grid1.ColSel = Grid1.Cols - 1 de façons à déclencher l'evenement Selchange du 1er Grid, mais rien ne se passe...Pareil pour l'évenement RowColChange Je ne sais pas si c'est très clair.... J'ai remarqué aussi qu'en environnement XP Sp2 ça marchait, mais pas en W98, alors que les runtimes sont les mêmes... J'en perds mon latin, ça me gave
Messages postés
6
Date d'inscription
lundi 25 octobre 2004
Statut
Membre
Dernière intervention
26 octobre 2004
1
Bon, tout compte fait j'ai résolu mon problème, après voir tatonné quand même toute la journée... Donc je contourne le pb en envoyant un "Sendkeys" au Grid, ce qui a pour effet de forcer le Selchange.. 'tain, je persiste à croire que c'est bien un bug de Krosoft, et vl'a les trucs qu'on doit faire pour les contourner !! Mais bon... Merci et à bientôt.
Messages postés
135
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
12 juillet 2006
1
Hey c'est super simple ça, pas besoin de sendkey (je faisais ça aussi
dans le temps en vba :o) ) ! Après avoir chargé ton flexgrid1 il
suffit de faire un:

Flex1.Row = 5
Flex1.Col = 0
Flex1.ColSel = Flex1.Cols - 1
Flex1.SetFocus

Call Flex1_SelChange(
)


Merci pour le code de sélection de la ligne ;-)


Vous pensiez que votre souris ne servait à rien? > Le Projet Marmotte! Comparez la distance que vous faites avec les autres internautes :)