Vb2005 datagrid app smart device [Résolu]

Messages postés
174
Date d'inscription
jeudi 3 février 2005
Dernière intervention
30 janvier 2009
- 10 mai 2007 à 15:34 - Dernière réponse :
Messages postés
174
Date d'inscription
jeudi 3 février 2005
Dernière intervention
30 janvier 2009
- 21 mai 2007 à 09:23
Bonjour à tous,
quelqu'un pourrait-il m'expliquer comment ajouter des données à un datagrid pour les projet smart device avec windows CE 5.0 ?
Mon problème est que j'ai mis un datagrid sur mon formulaire et je n'arrive pas à le remplire. J'ai une base de données SQL Server CE où j'arrive bien à me connecter et je voudrais remplir le grid sur base d'un sqlcecommand (autrement dit une requête SQL).
Est-ce possible et si oui comment ?
Merci pour votre aide éventuelle et vos réponse !

 pseudoOM
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
174
Date d'inscription
jeudi 3 février 2005
Dernière intervention
30 janvier 2009
- 21 mai 2007 à 09:18
3
Merci
OK j'ai résolu le problème. En fait par défaut il mettait la dataset du projet comme datasource du datagrid. Hors au lancement de l'application le dataset est vide donc forcément le datagrid se rempli avec rien. et comme on ne peut pas mettre à jour la propriété datasource rien ne se passe.
J'ai donc mis la propriété datasource à vide et je le rempli avec un table dans le code. Ensuite si je veux mettre à jour, je passe datasource à nothing et je réassigne la dataTable mise à jour au datasource du datagrid.

Private Sub Remplir_Grille()
        Dim sql_Command As System.Data.SqlServerCe.SqlCeCommand
        Dim Command_Reader As System.Data.SqlServerCe.SqlCeDataReader

        dgd_Materiel.DataSource = Nothing
        Table_Inv.Clear()
        sql_Command = Connect_CE.CreateCommand()
        sql_Command.CommandText = "Select * From table Where champ='" & str_ID & "' Order By ID"
        Command_Reader = sql_Command.ExecuteReader
        Do While Command_Reader.Read
            Table_Inv.Rows.Add(New Object() {Command_Reader("ID")})
        Loop
        Table_Inv.AcceptChanges()

        Command_Reader.Dispose()
        sql_Command.Dispose()
        dgd_Materiel.DataSource = Table_Inv

        dgd_Materiel.Refresh()
End Sub

Pour créer la table je fait comme ça dans le load du formulaire

Private Sub Creer_Table()
        Dim IdColumn As System.Data.DataColumn

        Table_Inv = New System.Data.DataTable
        Table_Inv.TableName = "Inv"

        ' Creer les colonnes
        IdColumn = Table_Inv.Columns.Add("ID", GetType(String))
       
        ' J'assigne la colonne ID comme clé primaire
        Table_Inv.PrimaryKey = New System.Data.DataColumn() {IdColumn}

        ' Dans mon cas cette ligne n'est pas obligatoire vu que finalement je n'utilise pas le dataset
        GIP_CE_DataSet.Tables.Add(Table_Inv)
End Sub

 pseudoOM

Merci pseudoOM 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de pseudoOM
Meilleure réponse
Messages postés
174
Date d'inscription
jeudi 3 février 2005
Dernière intervention
30 janvier 2009
- 21 mai 2007 à 09:23
3
Merci
J'ai oublié de mettre que j'ai déclaré la table en variable globale pour pouvoir l'utiliser partout dans le formulaire.
public Table_Inv As System.Data.DataTable

 pseudoOM

Merci pseudoOM 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de pseudoOM

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.