Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Intestazione colonne in una ListView
Forum - C# / VB.NET - Intestazione colonne in una ListView

Avatar
alip1 (Normal User)
Pro


Messaggi: 129
Iscritto: 12/08/2019

Segnala al moderatore
Postato alle 10:25
Martedì, 08/06/2021
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:
Codice sorgente - presumibilmente VB.NET

  1. ......
  2. Dim lvi As New ListViewItem
  3.       With LVTutte
  4.          .View = View.Details  'FONDAMENTALE'
  5.  
  6.          'imposto alcune proprietà'  
  7.          .LabelEdit = False
  8.          .AllowColumnReorder = True
  9.          .FullRowSelect = True
  10.          ' .GridLines = True  'mostra una sottile griglia'
  11.          .Sorting = SortOrder.Ascending  'ordinamento'
  12.          .AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent)
  13.          
  14.          'creo le colonne impostando per ognuna il titolo,'
  15.          'dimensione e allineamento'
  16.  
  17.          .Columns.Add("ID", 40, HorizontalAlignment.Left)
  18.          .Columns.Add("Oggetto", 200, HorizontalAlignment.Left)
  19.          .Columns.Add("Descrizione", 1000, HorizontalAlignment.Left)
  20.          .Columns.Add("Data Inizio Att", 130, HorizontalAlignment.Center)
  21.          .Columns.Add("Stato", 100, HorizontalAlignment.Center)
  22.          .Columns.Add("Day Allert", 100, HorizontalAlignment.Center)
  23.          .Columns.Add("Link File", 800, HorizontalAlignment.Left)
  24.          .Columns.Add("Con ricorrenza", 100, HorizontalAlignment.Center)
  25.       End With
  26.      ' Dim i As Integer = 0
  27.       For Each item In ListAttPersonali
  28.          'I primi 2 campi li posso inserire senza'
  29.          'problemi perché obbligatori nel database'
  30.  
  31.          lvi = LVTutte.Items.Add(item.IdAttivita)
  32.  
  33.        
  34.          lvi.UseItemStyleForSubItems = True
  35.          
  36.          If item.Stato = "Nuova" Or item.Stato = "In Corso" Then
  37.             lvi.ForeColor = Color.Red
  38.          Else
  39.             lvi.ForeColor = Color.Black
  40.          End If
  41.  
  42.          lvi.SubItems.Add(item.OggettoAtt)
  43.          lvi.SubItems.Add(item.Descrizione)
  44.          lvi.SubItems.Add(item.DataInizioAtt)
  45.          lvi.SubItems.Add(item.Stato)
  46.          lvi.SubItems.Add(item.DayAlert)
  47.          lvi.SubItems.Add(item.LinkFile)
  48.          If item.fkRicorrenza = 0 Then
  49.             lvi.SubItems.Add("NO")
  50.          Else
  51.             lvi.SubItems.Add("SI")
  52.          End If
  53.         ' i += 1
  54.       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 il 08/06/2021 alle 10:28
PM Quote
Avatar
alip1 (Normal User)
Pro


Messaggi: 129
Iscritto: 12/08/2019

Segnala al moderatore
Postato alle 13:27
Martedì, 08/06/2021
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 il 08/06/2021 alle 13:29
PM Quote