PB MSHFLEXGRID Ajouter Supprimer ligne

JBTHEBEST Messages postés 32 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 1 décembre 2004 - 6 oct. 2003 à 17:50
JBTHEBEST Messages postés 32 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 1 décembre 2004 - 8 oct. 2003 à 09:43
Hello,

P'tit pb avec un MSHFLEXGRID , je commence avec juste une ligne fixe et j'ajoute des données (.additem), pas de pb, mais des que je supprime des lignes par l'instruc : .removeitem, cela la supprime mais j'ai un décallage dans les ROWS, ca me fout un de c'est bordel...

Je pense que je ne suis pas le seul...ou alors je vais prendre une corde à avoir eu ce pb

Merci d'avance

@ peluche

6 réponses

Xanders07 Messages postés 27 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 8 octobre 2003
7 oct. 2003 à 10:09
crée une fonction qui redimenssione les rows a chaque suppression !

Xanders
0
JBTHEBEST Messages postés 32 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 1 décembre 2004
7 oct. 2003 à 10:21
Le problème c'est que je pas comment on fais... si tu as une source ou un exemple ça serais trop cool de ta part

MERCI

J&B
0
Xanders07 Messages postés 27 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 8 octobre 2003
7 oct. 2003 à 16:48
d'abord retrouve le nombre de row(ligne) que tu as ensuite crée une boucle du genre :

for i=0 to (nbderow)
      MSHFlexGrid1.RowHeight(i) = 200
next i


fait ce code juste apres avoir supprimer a savoir que 200 peut etre changer a ta guise :)
0
JBTHEBEST Messages postés 32 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 1 décembre 2004
7 oct. 2003 à 17:17
Je joint ci dessous ce que j'ai fait mais lorsque que je supprime tout mes lignes disparaisse
(je crois qu'elle sont encore la)

NP est un numero de ligne que j'increment

Voila ce que j'ai fait :

Si quelqu'un peut me dire ou et l'erreur ???

Private Sub BPSuppression_Click()
Dim temp As Integer

temp = Grd.Rows - 1

If temp >= 1 Then
Grd.RemoveItem (temp)
NP = NP - 1

For i = 1 To (NP)
Grd.RowHeight(i) = NP
Next i
End If

End Sub

Private Sub BPAjout_Click()

If NP < 1 Then NP = 0
NP = NP + 1

Grd.AddItem str(NP) & vbTab Etc...

end sub

Merci.....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Xanders07 Messages postés 27 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 8 octobre 2003
7 oct. 2003 à 22:24
hum le truc de ton decalage c'est quoi enfait ? les hauteurs de ligne qui sont nawak ou des cases blanche vide ? car la fonction rowheight sert a redimensionner la hauteur de la case mais j ai peut etre mal compris ta question :/

sinon le truc a faire c'est de recharger a chake fois ta grid.
je sais pas comment tu as fait pour initialiser ta grid au demarzage mais refait une initialisation a chaque supression p-e
0
JBTHEBEST Messages postés 32 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 1 décembre 2004
8 oct. 2003 à 09:43
Ta soluce marche mais c'est vraiment pas top, ca prend trop de temps et en plus c'est seulement pour enlever la derniere ligne alors...

Mon pb est que je veux inserer et supprimer des lignes mais quand j'en supprime 1 il faut que je fasse 2 additem pour le voir s'afficher dan sla grille.
Je ne vois pas comment faire ? (un boucle peut resoudre ce probleme mais il doit y avoir plus simple).

Ce que j'ai constaté c'est que l'index supprimé n'est plus valide dans la grille !!!

Pour l'instant je suis bloqué.......

J&B
0
Rejoignez-nous