Comboxbox in datagrid vb.net

Soyez le premier à donner votre avis sur cette source.

Vue 23 048 fois - Téléchargée 5 200 fois

Description

Ce code montre comment mettre un combobox dans un datagrid en VB.net.

J'ai utilise une classe que j'ai trouve dans le CD d'accompagnement d'un livre. Je l'ai implemente de maniere simple pour les gens qui comme moi debutent donc soyez sympa...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

whitepawn
Messages postés
2
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
28 juin 2007
-
J'allais oublier. J'ai aussi sur la procédure :
Private Sub Control_PropertyChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Une exception non gérée du type 'System.StackOverflowException' lorsque je sélectionne une combo de la dernière ligne. Le programme boucle entre
Protected Overloads Overrides Sub Edit et
Control_PropertyChanged(ByVal sender As Object, ByVal e As System.EventArgs). Une solution propre?
whitepawn
Messages postés
2
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
28 juin 2007
-
Bonjour, vraiment intéressante cette source. Je l'ai testé et j'ai quelques bugs. Je ne sais pas si ça vient du code ou de ma config (vista pro, VS2005 pro). Donc je les ai corrigé.
- Protected Overloads Overrides Sub Edit : il faut ajouter If VarType(value) = VariantType.Null Then Exit Sub
- la première fois que l'on utilise la combo d'une colonne, la valeur ne se fixe pas dans la case. Avec le remplacement par ce code ci-dessous, ca fonctionne... (en tout cas chez moi)

Protected Overrides Function Commit(ByVal dataSource As CurrencyManager, ByVal rowNum As Integer) As Boolean
ctrl.Bounds = Rectangle.Empty
' Create an event handler for the bound property
Me.boundPropertyChangedEvent.AddEventHandler(ctrl, New EventHandler(AddressOf Control_PropertyChanged))

'If isEditing Then
If ctrl.Visible = True Then
isEditing = False
Try
' Retrieve the value of the bound property.
Dim value As Object = Me.boundProperty.GetValue(ctrl, Nothing)
' Use it as the value for this cell.
SetColumnValueAtRow(dataSource, rowNum, value)
Catch
' Ignore errors.
End Try
Invalidate()
ctrl.Visible = False
End If
Return True
End Function

Pouvez-vous me dire si ça donne les mêmes erreurs chez vous ? merci
cs_lalili
Messages postés
1
Date d'inscription
jeudi 16 mars 2006
Statut
Membre
Dernière intervention
29 mars 2007
-
Vraiment bien cette source, je ne savais pas comment faire et en fait c'est tout bête.
Merci.
cs_JeyP
Messages postés
2
Date d'inscription
mercredi 3 mai 2006
Statut
Membre
Dernière intervention
14 juin 2006
-
Ah oui j'oubliais. Merci pinje pour la source. L'est intérressante =). Par contre je me demande si on est réellement obligé de passé par une classe externe pour crée une combobox...
cs_JeyP
Messages postés
2
Date d'inscription
mercredi 3 mai 2006
Statut
Membre
Dernière intervention
14 juin 2006
-
Hey Nanati_Say. Je suis aussi en train de travailler sur ce que tu demande. J'ai pas l'impression que ça soit si difficile que ça. Je pense qu'il faut procéder comme dhabitude...càd qu'il faut passer par un dataAdapter,dataset... et puis remplaçer les paramètres de la ligne
"cbo.Items.AddRange(New String() {"France", "Germany", "Italy", "UK", "USA"})"
par une requête SQL.
Enfin bref voila. Je sais pas vraiment si c'est la solution mais je vais essayer. Si t'es toujour intéréssé je posterais le bout de code qu'il faut ajouter. A moins que t'ai déjà trouver une solution.
Voila =)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.