begin process at 2012 02 13 02:41:29
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VB.NET

 > DLL LISTBOX ET COMBOBOX MULTI COLONNES

DLL LISTBOX ET COMBOBOX MULTI COLONNES


 Information sur la source

Note :
9,83 / 10 - par 6 personnes
9,83 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :VB.NET Source .NET ( DotNet ) Niveau :Initié Date de création :17/12/2003 Date de mise à jour :07/05/2005 16:02:36 Vu / téléchargé :25 152 / 5 144

Auteur : labout

Ecrire un message privé
Site perso
Commentaire sur cette source (24)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Cette DLL est la suite de la précédente mais le l'ai regroupée avec la précédente
Elle fait comprend une ComboBox multicolonnes et une listBox multicolonnes
plus simple à paramétrer que ce satané ListView de VB.NET bien Nul (Limite en taille avec plantage) par rapport à celui de VB6
Je pensais bien que vous alliez me le demander.
Tout est dit dans le RTF sinon demandez le moi.


 Conclusion

Modifications apportées
Passage du paramêtre titre lors de la définition de la ListBox
Simplification du code lors de l'emploi dans la form
pour le dessin de la bare de titre de la ListBox
Mise à jour du 9/01/2004 porte sur:
Ajout de la possibilité de masquer la colonne clé tant pour la ComboBox Que pour la listBox. Propriété HideColumnCle boolean


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

07 mai 2005 16:02:36 :
Masquage de la propriété Multicolonne pour listbox qui marchait à l'envers (Microsoft) et parasitait l'affichage de la ligne sélectionnée Entête de la listeBox qui ne marchait pas sur un panel ou un tabcontrol.

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLE LABEL VERTICAL VB.NET 2005
Source avec Zip Source avec une capture Source .NET (Dotnet) DLL CONTENANT LES OBJETS LISTBOX ET COMBOBOX MULTICOLONNES
Source avec Zip Source .NET (Dotnet) RICHTEXTBOX AVEC POLICE, COULEUR ET APERÇU AVEC LES COULEURS...
Source avec Zip Source avec une capture Source .NET (Dotnet) FORM ELLIPTIQUE
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLE PROGRESSBARRE

 Sources de la même categorie

Source .NET (Dotnet) MODIFICATION DATE DE WINDOWS EN VB.NET ET VBA par us_30
Source avec Zip Source avec une capture Source .NET (Dotnet) ENVOI DE MAIL AVEC PIÈCE JOINTE par EhJoe
Source .NET (Dotnet) AMUSONS NOUS AVEC UN LABEL ^^ par Adn56
Source avec Zip Source avec une capture Source .NET (Dotnet) UN NAVIGATEUR INTERNET EN VB.NET par azrti
Source avec Zip Source .NET (Dotnet) CONVERSION DE DEVISE MONAITAIRE VIA UN SERVICE WEB par bigmonkey7

Commentaires et avis

Commentaire de Fraggy le 18/12/2003 01:59:03

Excellente idée ... dommage que cette source soit une fois de plus
une source .NET . Mais pourquoi toutes les meilleures choses se
trouvent que en .NET :(( (j'ai démaré VB6 y a environ 6 mois)

Sinon, sur le principe je mets 9/10 (et oui je ne peux pas tester)
Si il y a une identique en VB6, je suis prenneur ;)

Commentaire de labout le 18/12/2003 09:17:40

Merci,
Parceque VB.NET est appelé à remplacer VB. C'est un produit plus stable et qui offre beaucoup plus de possibilités. En conséquence je n'y investit plus de temps.


Commentaire de Shivan0910 le 18/12/2003 14:40:22

mais le fait que ce soit une dll ne le rend pas exploitable sous vb6 ??
qu'est ce qu'il faudrait pour que ca marche sur vb6 ???
en tout cas toujours super bien !!

Commentaire de labout le 18/12/2003 15:39:37

Non hélas pour toi, j'ai essayé de l'ajouter en référence dans VB6 mais cela plante. Les Dll .NET ne semblent pas utilisables en VB6.
Pose la question sur le forum car je ne sais pas.
Salut et désolé.

Commentaire de sibi12 le 18/12/2003 20:14:07

Salut,

VB6 peut implementer des DLL COM, DCOM, COM+ ou d truc comme ça, basé sur l'ATL.
Une DLL .Net  utilise une autre architecture donc pour pouvoir lire cette DLL tu dois le faire en utilisant le "bas niveau" avec tout une série de Declare Function tatata....
Donc très lourd à faire de plus tu doit t'assurer que la machine ou le programme est installé a le framework...
Je ne connais pas les fonctions pour implementer la DLL mais elle doivent, en principe,  se trouver sur le site microsoft

A+

Commentaire de Shivan0910 le 19/12/2003 13:05:53

merci pour les infos

Commentaire de dyka le 06/12/2005 17:57:43

On se demande bien pourquoi ce n'est pas un contrôle standard du framework. En tout les cas, les contrôles fonctionnent très bien. J'ai juste une question : est-il possible de modifier la position de la dropdown list.
Par défaut, elle a la taille de la combobox, on peut l'élargir mais j'aimerais que le rectangle soit dessiner de l'autre côté. Est-ce possible ?
Merci pour les infos

Commentaire de labout le 06/12/2005 19:10:17

sans doute, il faut essayer le code source est fourni

Commentaire de sidar le 28/04/2006 19:00:31

Voila mon problème, j'utilise actuellement une listbox pour afficher les données d'un ARRAYLIST (mesVariables) qui pour chaque enregistrement contient 3 données (AdresseVariable , MnemoVariable et CommentaireVariable), ce qui donne le code suivant:
For Each maVar In EcranPrincipal.mesVariables
    ListBox1.Items.Add(maVar.AdresseVariable & "  " & _
    maVar.MnemoVariable & "   " & maVar.CommentaireVariable)
Next
Bon ça marche mais question alligement des colonnes, c'est pas terrible et je n'ais pas forcemment l'intention de calculer la longueur de chaque donnée pour ajuster mon nombre d'espaces.
J'ai donc récupéré la DLL et je suis confronté à un petit problème:
je réussi bien à créer mes trois colonnes, le nombre d'enregistrements correspond bien au nombre d'enregistrements de mon ARRAYLIST, mais je ne réussi pas à afficher correctement le contenu de chaque AdresseVariable , MnemoVariable et CommentaireVariable dans les lignes de la listbox multicolonne (j'ai dans les 3 colonnes le nom du namespace de mes variables pour chacun des 8000 enregistrements, ce qui ne m'avance pas beaucoup).
Voici le code que j'ai mis en place et qui donne ce résultat:
With MultiListBox1
                .DataSource = EcranPrincipal.mesVariables
                .Columns.Add(New ListBoxComboxMulticolonne.MultiListBox.Column(100, "AdresseVariable", "Adresse"))
                .Columns.Add(New ListBoxComboxMulticolonne.MultiListBox.Column(100, "MnemoVariable", "Mnémo"))
                .Columns.Add(New ListBoxComboxMulticolonne.MultiListBox.Column(200, "CommentaireVariable", "Commentaire"))
            End With
Si quelqu'un peut me donner un coup de main, merci d'avance. Désolé si mes explications ne sont pas très claire, mes je ne suis qu'un informaticien amateur et je manque surement du bon vocabulaire pour être bien compris.

Commentaire de PWM63 le 13/10/2006 16:18:29

Je cherchais justement une Combobox multi colonnes, et elle est parfaite !
Je n'ai plus qu'à (comprendre comment) l'intégrer dans mon projet :)
En attendant, 10/10 !

Commentaire de labout le 19/10/2006 15:28:00

merci

Commentaire de Robinwood01 le 16/11/2006 17:11:10

Superbe source, d'ailleurs ce n'est pas la première que j'utilise.
Cependant je début en VB .NET, je voudrais charger une combo box multicolonne à l'aide d'un recordset ou au pire avec un .add mais je n'arrive pas avec le add à mettre plusieurs colonnes.


Merci d'avance

Commentaire de labout le 26/11/2006 14:30:45

L'exemple de mon source traite ce cas.
Voic les 3 cas traités:
recordset fichier xml
recordset SQL Serves
recordset ACCESS

Commentaire de fredericmichel le 18/01/2007 14:11:49

Super ta combo multi-colonnes. Je trouve fou que Microsoft n'ait pas intégré cela dans ses combobox.
Par contre j'ai un petit soucis pour la remplir avec des données non récupérées dans une BDD. Je voudrais y rentrer les données à la main, j'y arrive avec une colonne, mais pas avec deux.
j'ai essayé items.add en passant un tableau et j'obtients à l'exécution "(collection)" dans la liste déroulante.
Peux tu m'aider ?
Merci d'avance.

Commentaire de sbaillamos2001 le 13/04/2007 19:05:52

salut tous le monde
j'ai besion d'un code qui me permet d'inserer un combobox multicolonnes en vb 6.0
merci d'avance

Commentaire de davidauche le 18/04/2007 10:58:37

LABOUT : il y a trois personnes au moins ont posé une question sur l'add des éléments
+1 (on attend une réponse)
Pas encore mater le code, mais je sens qu'il manque les Set pour items

Sinon, pourquoi tu ne hérite pas d'un listView (en mode list)? ça sera + simple pour les colums etc... (je suppose hein!)

Commentaire de Herleci le 20/04/2007 07:37:20

Bonjour comment faire pour remplir la multicolonneListBox avec un datareader, car je ne veux pas la lier à une table mais plutôt à ma requete voila mon code:
Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.jet.oledb.4.0;Data source=C:\Documents and Settings\Antonio\Mes documents\Visual Studio 2005\Projects\SGI\SGI\RemonteTerrain2K3.mdb")
        'On crée une commande
'Une variable pour paramêtrer ma requête
        Dim RefDiff As Integer
        RefDiff = Form1.txtDiff.Text
        Dim Mycommand1 As OleDbCommand = MyConnexion.CreateCommand()
        Select Case RefDiff
            Case Is = 1, 2

                Mycommand1.CommandText = "select num_chaine, NOM_Chaîne,id_transpondeur from FormsChainePartranspondeur WHERE RefDiff like'" & RefDiff.ToString & "'"
            Case Else

                Mycommand1.CommandText = "select num_chaine, NOM_Chaîne,id_transpondeur from FormsChainePartranspondeur WHERE RefDiff <> 2"

        End Select
        MyConnexion.Open()
        'on crée le datareader et on stocke chaque résultat dans listbox1
        Dim Myreader1 As OleDbDataReader = Mycommand1.ExecuteReader()

A partir d'ici je ne sais pas comment on fait pour remplir la liste box

Commentaire de PWM63 le 10/10/2008 15:31:45

Bonjour,

Je suis en VB .net 2003.

Je souhaite afficher 1 MultiComboBox avec 2 colonnes "Code" et Signification", obtenir le résultat "Code" après avoir choisi 1 occurrence, et conserver la valeur "Numéro Auto".
Ces 3 champs sont dans 1 table d'1 dataset que je remplis via 1 fichier xml.

Pour l'instant, tout correspond à mon besoin, mais j'ai 1 petit soucis :
le contrôle affiche obligatoirement une valeur,
or, j'aimerai que la multicombobox reste vide tant que je n'ai encore rien sélectionné dans la liste.

J'ai essayé selectedvalue = nothing, "", 0 ou -1 ainsi que text="" mais rien n'y fait.

Existe-t-il 1 solution à mon problème ?

Par avance, merci.
Stéphane

PS : Ci-dessous un extrait du code :

        With Me.MultiComboBox1

                .DataSource = Me.DataTable1
                .DisplayMember = "Code"
                .ValueMember = "Numéro Auto"
                .DropDownWidth = 700

                .Columns.Add(New ListBoxComboxMulticolonne.MultiComboBox.Column(110, "Code"))
                .Columns.Add(New ListBoxComboxMulticolonne.MultiComboBox.Column(590, "Signification"))

        End With

Commentaire de labout le 10/10/2008 18:09:41

c'est dans le code de la DLL DLL qu'il faut agir.
Mais ce n'est pas gagné car c'est prvu pour afficher
la valeur existante ou la première valeur quand il n'y en a pas.

Commentaire de PWM63 le 13/10/2008 10:25:59

Merci Labout,

Après aide, pour ce qui concerne le Combobox, il s'agirait de la propriété FormattingEnabled, disponible uniquement à partir du Framework 2.0.
Et je suis en VB .Net 2003 qui n'accepte que le Framework 1.x.

Bref, c'est pas gagné !

Merci tout de même pour ta source !

Stéphane

Commentaire de labout le 21/10/2008 18:42:15

et bien il suffit d'ouvrir la DLL avec VB2005 puis de la recompiler. La version 2005 était téléchargeable gratuitement chez microsoft

Commentaire de PWM63 le 21/10/2008 20:45:09

J'ai migré vers VB Express 2008, et j'utilise la dernière version de ta DLL pour multicombobox.
Cela fonctionne maitenant parfaitement !

Pour info, je fais ainsi :


    Sub remplit_multicombobox(ByVal MultiComboBox As ListBoxComboxMulticolonne.MultiComboBox, ByVal DataSource As DataTable, ByVal DisplayMember As String, ByVal ValueMember As String, ByVal Columns() As structure_columns)

        Dim DropDownWidth As Integer = 0

        With MultiComboBox

            .DataSource = DataSource 'Table
            .DrawMode = DrawMode.OwnerDrawFixed
            .DisplayMember = DisplayMember 'Champs affiché
            .ValueMember = ValueMember 'Valeur du champs
            .AspectLigneVerticale = ListBoxComboxMulticolonne.MultiComboBox.LargeurTrait.Fin
            .HideColumnCle = True 'Clef cachée
            .FormattingEnabled = True 'Aucune valeur par défaut
            .SelectedValue = -1 'Aucune valeur par défaut

            For Each Column As structure_columns In Columns 'Ajoute les colonnes

                .Columns.Add(New ListBoxComboxMulticolonne.MultiComboBox.Column(Column.Width, Column.ColumnMember))
                DropDownWidth += Column.Width

            Next

            .DropDownWidth = DropDownWidth 'Largeur

        End With

    End Sub

Commentaire de newvicking le 07/04/2009 18:24:55

Ca marche super bien avec Visual Sturio 2008.

Pour info, avec cette version, à la place MultiComboBox.ShowColumns = True, il faut mettre MultiComboBox.DrawMode = DrawMode.OwnerDrawFixed.

Par contre, je n'ai pas trouvé comment récupérer le contenu d'une colonne de la ligne sélectionnée dans la combobox ? (la méthode expliquée semble ne pas fonctionner avec cette version de VB).

Commentaire de newvicking le 08/04/2009 11:02:01

En fait, si ça marche pour récupérer les colonnes de la ligne sélectionnée ;-)

Mais dans ma version de VB, il ne faut pas les "_" :

CType(CType(CType(MultiComboBox1.Items(iIndex), Object), System.Data.DataRowView).Row, System.Data.DataRow).ItemArray(1).ToString()

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,279 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales