Composant treeview

lolokim Messages postés 5 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 27 mars 2008 - 21 mars 2008 à 12:50
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 28 mars 2008 à 08:30
bjr tt le monde je suis entrain de developper un composant treeview avec l'accés à une base access et je suis bloquée au niveau du chargement de données.si kelkun pourrais m'aider merci

8 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
21 mars 2008 à 13:22
Bonjour

Quel est ton problème ?

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
lolokim Messages postés 5 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 27 mars 2008
21 mars 2008 à 21:41
'Connexion à la base de données

        ObjetConnection.ConnectionString = myconn
        ObjetConnection.Open()
        Dim i, j As Integer
                For i 0 To i (sqlpr.Length)
            Command1 = New OleDb.OleDbCommand(sqlpr.Length) {}

            Command1(i) = New OleDbCommand(sqlpr(i))

            Command1(i).Connection = ObjetConnection
            Command1(i).CommandText = sqlpr(i)
            dataAdapter1 = New OleDb.OleDbDataAdapter(sqlpr.Length) {}

            dataAdapter1(i) = New OleDb.OleDbDataAdapter(Command1(i))

            dataAdapter1(i).Fill(objdataset, Matableparente(i))
            For j 0 To j (sqlft.Length)
                Command2 = New OleDb.OleDbCommand(sqlft.Length) {}

                Command2(j) = New OleDbCommand(sqlft(j))
                Command2(j).Connection = ObjetConnection
                Command2(j).CommandText = sqlft(j)

                dataAdapter2 = New OleDb.OleDbDataAdapter(sqlft.Length) {}
                dataAdapter2(j) = New OleDb.OleDbDataAdapter(Command2(j))

                dataAdapter2(j).Fill(objdataset, Matablenfante(j))

                'Créé une relation entre les Tables.

                objdataset.Relations.Add(Marelation(i), objdataset.Tables(Matableparente(i)).Columns(Macolrelation(j)), _
                     objdataset.Tables(Matablenfante(j)).Columns(Macolrelation(j)))

                t.Nodes.Clear()
                Dim prow, crow As DataRow
                Dim parentnode, childnode As TreeNode
                For Each prow In objdataset.Tables(Matableparente(i)).Rows
                    parentnode = New TreeNode(prow.Item(0))
                    t.Nodes.Add(parentnode)
                    parentnode.Tag = prow(Macolonneparente(i))

                    For Each crow In prow.GetChildRows(Marelation(i))
                        childnode = New TreeNode
                        childnode = parentnode.Nodes.Add(crow(0))
                        childnode.Tag = crow(Macolonneenfante(j))

                    Next
                Next

            Next j

        Next i
 le treeview marche et j'arrive à afficher les requetes mais juste le premier element de chaque tableau
0
lolokim Messages postés 5 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 27 mars 2008
22 mars 2008 à 22:16
salut, alors vous voyez il est ou mon problème?
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
26 mars 2008 à 15:59
Bonjour

Bizzar ta déclararion :
dataAdapter1 = New OleDb.OleDbDataAdapter(sqlpr.Length) {}
dataAdapter1(i) = New OleDb.OleDbDataAdapter(Command1(i))
Comment tu as déclaré DataAdapter1 ?

Tu as bien définit "Option Explicit" et "Option Strict" à "On" ?

Quest-ce qu'il y a dans Sqlft et Sqlpr ?

Au lieu de prendre des Adapters, utilises plutot des DataReader (OleDbDataReader pour OleDb).

Peux-tu décrire un peu comment est orgnaisé ta base de données et quel est le lien entre les données et leur affichage.?

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
0

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

Posez votre question
lolokim Messages postés 5 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 27 mars 2008
26 mars 2008 à 20:17
bonsoir
voila dans mon treeview je veux afficher dans les parents les division d'une entreprise (clientèle , magasin , personnel...) et dans les fils afficher les services de chaque dvision (N_Division comme relation) avec mon code ça se fait sans problème mais ce ke j'arrive pas a faire c'est les enfants des enfants c.à.d afficher dans chaque service les salariés  qui y travaillent
c'est pour ça j'ai declaré la partie sql comme des tableaux sqlpr et sqlft
et pour le datareader je vx pas l'utiliser car je vx faire des mises à jour à ma base a travres ce treeview
alors si vous avez une idées n'hesitez chui carrement bloquée la dessus....

MERCI
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
27 mars 2008 à 14:09
Bonjour

Bon, je vois un peu mieux, mais j'ai encore une question sur ton code (actuel) :
Command1 = New OleDb.OleDbCommand(sqlpr.Length) {}
Command1(i) = New OleDbCommand(sqlpr(i))
Command1(i).Connection = ObjetConnection
Command1(i).CommandText = sqlpr(i)
Pourquoi faire un tableau alors que tu l'efface à chaque passage ?
C'est pareil pour le reste.

Sinon je te conseillerais de mémoriser (dans le Tag) une Structure qui contiendra les paramètres nécessaire à la mise à jour (avec une requête Sql UPDATE ou INSERT INTO).

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
lolokim Messages postés 5 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 27 mars 2008
27 mars 2008 à 22:10
bonsoir
dsl mais j'ai pas compris ce que tu vx par remplir une structure par les paramètres necessaires à la mise à jour
(et n'oubliez c'est un composant )

merci
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
28 mars 2008 à 08:30
Bonjour

Une structure est déclarée par le mot clé "Structure", regarde dans l'aide.

Ensuite, tu peux récupérer l'evenement de modification et lancer la mise à jour par uen requête UPDATE par exemple.

Pour info, j'ai essayé une fois de faire du DataBinding avec un DataGridView, si pour l'affichage, aucun pb, pour la maj de la BDD suite à une modification, j'ai fini par le faire à la main (tu peux le voir dans la liste des mes derniers messages).

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
Rejoignez-nous