IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Affecter style de colonne à DataGrid


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 40
    Par défaut Affecter style de colonne à DataGrid
    Bonjour,

    Je suis actuellement sur un programme VB.NET pour PDA (Windows CE 6).
    J'ai une DataGrid contenant 3 champs : EAN, Poids et Pièce.
    Mon remplissage se passe sans problème avec les données retournées depuis un WebService.
    Mon problème étant que je n'arrive pas à affecter des styles à mes colonnes.
    En effet, je créer 3 styles avec des en-têtes et des longueurs spécifiques mais ceci n'est pas mise à jour et il m'affiche toujours les entêtes traditionnels sans me corriger les longueurs des champs.

    J'espère avoir été clair, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
                ' Affectation des données dans la DataGrid
                c_dtg_pqt.DataSource = tt900_pfl
     
                Dim tableStyle As New DataGridTableStyle()
                tableStyle.MappingName = "Paquets"
     
                'Discontinued.
                Dim column As New DataGridTextBoxColumn()
                column.MappingName = ""
                column.HeaderText = ""
                column.Width = 30
                'tableStyle.GridColumnStyles.Add(column)
     
                ' EAN
                column = New DataGridTextBoxColumn()
                column.MappingName = "EAN"
                column.HeaderText = "EAN"
                column.Width = 30
                tableStyle.GridColumnStyles.Add(column)
     
                ' Poids
                column = New DataGridTextBoxColumn()
                column.MappingName = "Poids"
                column.HeaderText = "Poids"
                column.Width = 140
                tableStyle.GridColumnStyles.Add(column)
     
                ' Pièce
                column = New DataGridTextBoxColumn()
                column.MappingName = "Pièce"
                column.HeaderText = "Pièce"
                tableStyle.GridColumnStyles.Add(column)
     
                ' Ajouter le style à la datagrid
                c_dtg_pqt.TableStyles.Add(tableStyle)

    Auriez-vous une idée s'il vous plait ?
    Je sèche complêtement....
    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonsoir,

    quel est le type de tt900_pfl?
    C'est un datatable?

  3. #3
    Membre averti
    Inscrit en
    Février 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 40
    Par défaut
    Bonjour Sankasssss,

    tt900_pfl est en fait la correspondance en VB.NET d'une Table Temporaire PROGRESS transcrite par un WebService. pas de datatable.

    Je ne sais pas si cela est clair, mais ce n'est pas facile à expliquer.

    En tout cas, cette affectation fonctionne puisque mes données apparaissent bien.

  4. #4
    Membre averti
    Inscrit en
    Février 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 40
    Par défaut
    Eurêka !

    J'ai trouvé la solution en explorant ton histoire de DataTable.
    En effet, j'ai désormais créée une DataTable que j'affecte à ma DataGrid avec un style de colonne : C'est Niquel !

    Voici le code pour mieux comprendre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Dim dt_table As Data.DataTable = New Data.DataTable("Paquets")
                dt_table.Columns.Add("EAN", GetType(String))
                dt_table.Columns.Add("Poids", GetType(String))
                dt_table.Columns.Add("Pièce", GetType(Integer))
     
                For i = 0 To i_nbpqt - 1
                    dt_table.Rows.Add(tt900_pfl(i).cdean.Trim, FormatNumber(tt900_pfl(i).poids, 3), tt900_pfl(i).nbpi)
                Next
     
                Dim tableStyle As New DataGridTableStyle()
                Dim column As New DataGridTextBoxColumn()
     
                tableStyle.MappingName = "Paquets"
     
                ' EAN
                column = New DataGridTextBoxColumn()
                column.MappingName = "EAN"
                column.HeaderText = "EAN du Paquet"
                column.Width = 100
                tableStyle.GridColumnStyles.Add(column)
     
                ' Poids
                column = New DataGridTextBoxColumn()
                column.MappingName = "Poids"
                column.HeaderText = "Poids (en Kg)"
                column.Width = 80
                tableStyle.GridColumnStyles.Add(column)
     
                ' Pièce
                column = New DataGridTextBoxColumn()
                column.MappingName = "Pièce"
                column.HeaderText = "Pièce"
                column.Width = 46
                tableStyle.GridColumnStyles.Add(column)
     
                ' Ajouter le style à la datagrid
                c_dtg_pqt.TableStyles.Add(tableStyle)
     
                ' Affectation des données dans la DataGrid
                c_dtg_pqt.DataSource = dt_table
    Un grand merci en tout cas pour ton aide ;-)
    Bonne journée.

  5. #5
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonne journée à toi aussi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#][WinForm] Style d'un dataGrid + Style des colonnes
    Par empireevil dans le forum Windows Forms
    Réponses: 1
    Dernier message: 31/05/2007, 15h44
  2. [C#][1.1] Appliquer un style à un DataGrid
    Par misa dans le forum ASP.NET
    Réponses: 5
    Dernier message: 28/12/2005, 15h44
  3. [C#][Pocket PC]Supprimer colonne datagrid
    Par maredami dans le forum Windows Mobile
    Réponses: 4
    Dernier message: 15/11/2005, 18h39
  4. [C#] [WinForms] Définir largeur colonne DataGrid
    Par djsbens dans le forum Windows Forms
    Réponses: 14
    Dernier message: 04/04/2005, 10h14
  5. [C#] Connaitre le titre d'une colonne DataGrid
    Par Worldofdada dans le forum ASP.NET
    Réponses: 9
    Dernier message: 23/03/2005, 15h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo