Oppure

Loading
08/06/21 8:25
alip1
Buongiorno e buon lavoro a tutti.

Sono alle prese con una listview che si deve caricare in maniera dinamica tramite codice prelevando i dati da una lista che contiene un certo numero di item tutti dello stesso tipo.
Utilizzo il seguente frammento di codice:

......
Dim lvi As New ListViewItem
      With LVTutte
         .View = View.Details  'FONDAMENTALE'

         'imposto alcune proprietà'  
         .LabelEdit = False
         .AllowColumnReorder = True
         .FullRowSelect = True
         ' .GridLines = True  'mostra una sottile griglia'
         .Sorting = SortOrder.Ascending  'ordinamento'
         .AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent)
         
         'creo le colonne impostando per ognuna il titolo,'
         'dimensione e allineamento'

         .Columns.Add("ID", 40, HorizontalAlignment.Left)
         .Columns.Add("Oggetto", 200, HorizontalAlignment.Left)
         .Columns.Add("Descrizione", 1000, HorizontalAlignment.Left)
         .Columns.Add("Data Inizio Att", 130, HorizontalAlignment.Center)
         .Columns.Add("Stato", 100, HorizontalAlignment.Center)
         .Columns.Add("Day Allert", 100, HorizontalAlignment.Center)
         .Columns.Add("Link File", 800, HorizontalAlignment.Left)
         .Columns.Add("Con ricorrenza", 100, HorizontalAlignment.Center)
      End With
     ' Dim i As Integer = 0
      For Each item In ListAttPersonali
         'I primi 2 campi li posso inserire senza'
         'problemi perché obbligatori nel database'

         lvi = LVTutte.Items.Add(item.IdAttivita)

        
         lvi.UseItemStyleForSubItems = True
         
         If item.Stato = "Nuova" Or item.Stato = "In Corso" Then
            lvi.ForeColor = Color.Red
         Else
            lvi.ForeColor = Color.Black
         End If

         lvi.SubItems.Add(item.OggettoAtt)
         lvi.SubItems.Add(item.Descrizione)
         lvi.SubItems.Add(item.DataInizioAtt)
         lvi.SubItems.Add(item.Stato)
         lvi.SubItems.Add(item.DayAlert)
         lvi.SubItems.Add(item.LinkFile)
         If item.fkRicorrenza = 0 Then
            lvi.SubItems.Add("NO")
         Else
            lvi.SubItems.Add("SI")
         End If
        ' i += 1
      Next


La list view mi visualizza i vari items , ma non mi visualizza le intestazioni delle colonne...
dove sbaglio?? I vari esempi che ho potuto vedere in giro non mi hanno risolto l'enigma...
Ho provato anche ad inserire le intestazioni di colonna a livello di progetto ma non cambia nulla.
Grazie per l'aiuto a tutti.
Ultima modifica effettuata da alip1 08/06/21 8:28
aaa
08/06/21 11:27
alip1
Scusatemi il codice è corretto e funziona.
Era un problema di progettazione: avevo inserito la listview nel panel2 di un SplitContainer1
ed avevo settato a FILL la proprietà dock della listview per farla adattare completamente al panel2; ma non so perché a runtime la testata non veniva visualizzata ed eseguendo il codice step by step ho scoperto che la proprietà heigth della listview era superiore a quella del panel2 dello splitcontrol... non so perché ... ma ho cambiato la proprietà dock a bottom e poi via codice ho settato la proprietà heigth della listview nella misura che mi serve.. e così la testata ora viene visualizzata...
Non so dirvi altro e mi scuso del disturbo... e comunque grazie ugualmente.
Ultima modifica effettuata da alip1 08/06/21 11:29
aaa