2009-05-22 7 views

Répondre

3

Je ne pense pas que le contrôle MSHFlexGrid permet aux utilisateurs d'éditer ses données en premier lieu. Par conséquent, en effet, toutes les colonnes sont désactivées. Job done :)

En fait, vous devez ajouter un code personnalisé pour permettre la mise à jour par ex. ajouter un contrôle approprié (textbox, combo, sélecteur de date, etc.) que permet permettre de modifier, masquer au moment du design, puis au moment de l'exécution de détecter quelle cellule de grille devrait avoir le focus, déplacer et dimensionner le contrôle pour s'adapter à la cellule puis faire il visible puis gérer les événements pour valider l'entrée, puis écrire le contenu dans le jeu d'enregistrements ...

... ou vous pourriez acheter un autre contrôle qui fait tout cela hors de la boîte. Le MSHFlexGrid qui est livré avec VB6 est essentiellement une version réduite de VSFlexGrid Pro, que j'ai utilisé et pensé était assez bon. Il a une façon différente de gérer les données hiérarchiques en créant des groupes (plutôt que des bandes) ce qui est supérieur, IMO. La meilleure chose à dire à propos de MSHFlexGrid est qu'il est facile de lier un jeu d'enregistrements ADO hiérarchique pour afficher simplement les résultats mais pas bon si vous voulez faire du bon formatage ou rendre la grille modifiable. Le VSFlexGrid Pro, si vous pouvez vous le permettre, a plus de puissance, par ex. vous pouvez créer des classes de sources de données pour gérer la liaison aux structures de données personnalisées (livrées avec des exemples VB6, y compris la liaison de jeu d'enregistrements ADO), ce qui serait une valeur inestimable si vous souhaitez rendre votre grille hiérarchique modifiable.

0

'Un raccourci est ici ... PAS d'une manière appropriée. Mais vous pouvez essayer

« si vous avez besoin de verrouiller les 3 premières colonnes s'il vous plaît utiliser ce code:

msf2=name of MSFlexGrid 
Private Sub msF2_EnterCell() 
With msF2 
    If msF2.Col = 0 Or msF2.Col = 1 Or msF2.Col = 2 Then 
     msF2.Col = 3 
    End If 
End With 
End Sub 
Questions connexes