[ VB .net ] Listview "invisible" [résolu]

Listview "invisible" [résolu] [ VB .net ] - VB/VBA/VBS - Programmation

Marsh Posté le 07-07-2005 à 11:10:02    

Bonjour,
 
Je suis sous vb .net 2002 et j'ai un "petit" soucis  :whistle:.
En fait j'ai un formulaire principal qui me sert de menu.
J'appelle alors mon formulaire de saisie des entrées en stock.
 
Ce formulaire comporte un composant listview.
Ce composant affiche le contenu des mes palettes
Jusqu'ici tout va bien, je fait mes différentes opérations d'ajouts sans soucis.
 
Si je quitte le formulaire, je retourne sur mon menu principal.
Puis si je decide de revenir sur le formulaire de saisie des entrées en stock, tout va mal !
 
En fait, ma base de données est interrogée correctement, elle remplit correctement la listview enfin presque puisque je n'ai que des lignes blanches ...
 
En fait quand je trace le programme, tout semble fonctionner normalement.
L'ascenceur apparaît donc il y a bien "des lignes".
 
Mais c'est blanc de chez blanc, comme si la listview était vierge !
 
 
--------------
 
Bon bah j'ai fini par trouver !
 
En fait mes colonnes n'étaient pas ajoutées du fait que le new() du formulaire n'était pas executé lors de la deuxième "ouverture" de mon formulaire de saisie.
 

Code :
  1. Public Sub New()
  2.         MyBase.New()
  3.         'Cet appel est requis par le Concepteur Windows Form.
  4.         InitializeComponent()
  5.         'Ajoutez une initialisation quelconque après l'appel InitializeComponent()
  6.         lst_palette.Columns.Add("Quantité", 80, HorizontalAlignment.Center)
  7.         lst_palette.Columns.Add("Variété", 183, HorizontalAlignment.Center)
  8.         lst_palette.Columns.Add("Contractant", 100, HorizontalAlignment.Center)
  9.         lst_palette.Columns.Add("Porte-Greffe", 105, HorizontalAlignment.Center)
  10.         lst_palette.Columns.Add("Code variété", 0, HorizontalAlignment.Center)          'colonne cachée
  11.         lst_palette.Columns.Add("Index Rosier en BDD", 0, HorizontalAlignment.Center)   'colonne cachée
  12.         lst_palette.Columns.Add("Numéro camion", 0, HorizontalAlignment.Center)         'colonne cachée
  13.         lst_palette.Columns.Add("Index histo en BDD", 0, HorizontalAlignment.Center)    'colonne cachée
  14.         lst_palette.Columns.Add("Date", 0, HorizontalAlignment.Center)                  'colonne cachée
  15.     End Sub


 
Donc je l'ai deplacé dans une fonction qui est forcèment initialisé à chaque fois (test si le numéro de palette est renseigné).
 

Code :
  1. If numpal = -1 Then
  2.                 'initialise la grille de la listview
  3.                 lst_palette.Columns.Add("Quantité", 80, HorizontalAlignment.Center)
  4.                 lst_palette.Columns.Add("Variété", 183, HorizontalAlignment.Center)
  5.                 lst_palette.Columns.Add("Contractant", 100, HorizontalAlignment.Center)
  6.                 lst_palette.Columns.Add("Porte-Greffe", 105, HorizontalAlignment.Center)
  7.                 lst_palette.Columns.Add("Code variété", 0, HorizontalAlignment.Center)          'colonne cachée
  8.                 lst_palette.Columns.Add("Index Rosier en BDD", 0, HorizontalAlignment.Center)   'colonne cachée
  9.                 lst_palette.Columns.Add("Numéro camion", 0, HorizontalAlignment.Center)         'colonne cachée
  10.                 lst_palette.Columns.Add("Index histo en BDD", 0, HorizontalAlignment.Center)    'colonne cachée
  11.                 lst_palette.Columns.Add("Date", 0, HorizontalAlignment.Center)                  'colonne cachée
  12. [...]


 
Desolé pour la pollution ambiante de la cat :sweat:


Message édité par jeoff le 07-07-2005 à 11:44:43
Reply

Marsh Posté le 07-07-2005 à 11:10:02   

Reply

Marsh Posté le 08-07-2005 à 12:28:44    

bon en fait jsuis un super boulet !
 
Ma bidouille fonctionne mais il y a une manière plus élégante.
------------
    Public Sub New()
           MyBase.New()
   
           'Cet appel est requis par le Concepteur Windows Form.
            InitializeComponent()
 
            lst_palette.Columns.Add("Quantité", 80, HorizontalAlignment.Center)
 
            [...]
 
 End Sub
-----------------
 
Et au lieu de "détruire" le listview avec lst_palette.Clear qui détruit tout même les colonnes; il fallait le remplacer par lst_palette.Items.Clear qui ne détruit que le contenu du listview et pas sa structure ... :sweat:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed