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.