VB.NET- Affecter style de colonne à DataGrig
Résolu
spaceinfo
-
spaceinfo -
spaceinfo -
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 :
Auriez-vous une idée s'il vous plait ?
Je sèche complêtement....
Merci d'avance.
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 :
' 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.
A voir également:
- VB.NET- Affecter style de colonne à DataGrig
- Déplacer colonne excel - Guide
- Modèle de style word - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
- Style d'écriture a copier coller - Guide
4 réponses
Slt vu comme sa et parce que je suis fatigue fait un Update ou Refresh pour voir je regarderais sa de plus pret demain
Après mure réflexion ( plutot une grande tasse de café :) ) regarde si le mappingname correspond bien au tablename de ton datatable
Bonjour Nico,
J'ai exploré ton idée concernant les MappingName de mon objet column. J'ai essayé de lui affecter à chaque fois le MappingName de ma TableStyle, c'est à dire 'Paquets'. Malheureusement cela ne résoud rien et m'affiche au contraire l'exception "Value does not fall within the expected range".
Par contre, je n'ai pas de DataTable. Cela viendrait-il de ça ? Aurais-tu un exemple d'utilisation s'il te plait ?
Merci d'avance.
J'ai exploré ton idée concernant les MappingName de mon objet column. J'ai essayé de lui affecter à chaque fois le MappingName de ma TableStyle, c'est à dire 'Paquets'. Malheureusement cela ne résoud rien et m'affiche au contraire l'exception "Value does not fall within the expected range".
Par contre, je n'ai pas de DataTable. Cela viendrait-il de ça ? Aurais-tu un exemple d'utilisation s'il te plait ?
Merci d'avance.
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 :
Un grand merci en tout cas pour ton intervention ;-)
Bonne journée.
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 :
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 intervention ;-)
Bonne journée.