Remplir un datagrid avec un dataset !

Soyez le premier à donner votre avis sur cette source.

Snippet vu 30 693 fois - Téléchargée 30 fois

Contenu du snippet

Suite au tutorial de "vieux lion" avec son remplissage d'un datagrid via une liaison de donnée simple , cette source permet de remplir un datagrid via un dataset ; Pourquoi un dataset ? simplement parce que grace au dataset vous pourraient parametrer votre datagrid pour la pagination et le tri....

Source / Exemple :


Sub ChargerDatagrid()

        Dim strConn As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("BDD/NOM_DE_VOTRE_BDD.mdb") & ";"
        
        Dim Conn1 As New OleDb.OleDbConnection()

        Conn1 = New OleDb.OleDbConnection(strConn)
        Conn1.Open()

        Dim Rd As OleDb.OleDbDataAdapter
        Dim data As New Data.DataSet()
        Dim strsql As String

        strsql = "VOTRE REQUETE SQL"
       
        Rd = New OleDb.OleDbDataAdapter(strsql, Conn1)
        data = New Data.DataSet()
        Rd.Fill(data)

        DataAgence.DataSource = data
        DataAgence.DataBind()

        data.Dispose()
        Conn1.Close()

    End Sub

Conclusion :


voilà ! il n'y a pas de commentaire mais le code est comprehensible ! bien sûr le contrôle datagrid est tres complet ... et il reste à expliquer par exemple le generateur de propriété , les colonnes de modeles , l'edition du ligne...... surment dans un prochain tuto ;-)

A voir également

Ajouter un commentaire

Commentaires

keops31
Messages postés
13
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
25 avril 2006
-
OK
Mais comment fait-on pour afficher dans un même datagrid les données de PLUSIEURS datatable d'un seul dataset ?

J'ai essayé de créer une datarelation. Mais lors de l'affichage des colonnes, le datagrid va chercher les colonnes seulement dans la datatable mère !

Pour info : j'ai essayé maDatagrid.DataSource ds.Tables("TableMere") et même maDatagrid.DataSource ds, mais toujours le même problème..

Vous avez la réponse ?
Merci d'avance
cs_fatalbert
Messages postés
5
Date d'inscription
dimanche 5 janvier 2003
Statut
Membre
Dernière intervention
18 novembre 2003
-
bah si ta requete est composée de jointure ! je voit pas ou est le probleme !
en faite je voit pas pourkoi tu as posé ce post ... oui car c une methode pour remplir un datagrid ... qu'on peut retrouver sur le msdn de microsoft !
c une source pour les debutants qui veulent se servir d un control datagrid ! voila voila .....
cs_fabrice69
Messages postés
1766
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
4 -
Simplement un DataSet est un ensemble de DataTable

On peut représenter ca simplement (comme pour une base de données) :
- Le DataSet sera la Base elle-même
- La (ou les) DataTable(s) sera(ont) les Tables de la Base.

Tu as un article en FR qui te le présente (rapidement) ici :
- http://vmaviel.free.fr/dotNET/chap2.htm

F___
cs_fatalbert
Messages postés
5
Date d'inscription
dimanche 5 janvier 2003
Statut
Membre
Dernière intervention
18 novembre 2003
-
tout a fait d'accord pour la declaration de variable mais ça je l'est dit juste avant (reponse à jesusonline) .
Mais je comprends pas du tout pourkoi tu parles de datable ! les resultats du dataset dependent SEULEMENT de ta reqûete sql ! peu tu m eclairsir sur ce point merci !
cs_fabrice69
Messages postés
1766
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
4 -
C'est une méthode très simple qui n'est valable que dans une seule situation, si le dataset en question ne contient qu'une seule datatable.
Ce qui est le cas dans la situation présentée (La table a l'index N° 0).

En revanche si tu avais plusieurs DataTable dans ton DataSet, je pense qu'il prendrait celui avec le N°0 ou qu'il te retournerait une erreur.

De plus le New fait 2 fois de suite est inutile. Lors de la création Dim toto as New Dataset() suffit à typer et initialiser la variable.

F___

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.