Unire in una GridView le celle in un'unica grande cella
Per unire in una unica cella due o più celle di più righe, si utilizzerà la Proprietà ".RowSpan" delle celle. Per unire, invece, in una unica cella due o più celle di due o più colonne, si utilizzerà la Proprietà ".ColumnSpan" delle celle.
Indice
Unire le celle di due o più righe
Nell'esempio pratico, che segue, abbiamo una GridView formata da tre righe e tre colonne. Uniremo in un'unica cella le celle delle tre righe con riferimento alla seconda colonna. Ossia le seconde celle di ciascuna riga saranno unite a formare in un'unica grande cella verticale. Quindi la seconda colonna della GridView sarà formata da un'unica cella.
Inoltre inseriremo nell'unica grande cella un testo in basso al centro.
Public Sub Form_Open() With GridView1 .Rows.Count = 3 .Columns.Count = 3 End With With GridView1[0, 1] .RowSpan = 3 .Alignment = Align.Bottom .Text = "testo" End With End
Unire le celle di una riga contestualmente allo spostamento del puntatore del mouse su di esse
In questo caso si cliccherà con il mouse sulla prima cella da unire; poi mantenendo premuto e spostando il puntatore del mouse lungo la riga, si avrà la fuzione delle celle che si attraversano con il puntatore.
Public Sub Form_Open() With Me .W = Screen.AvailableWidth * 0.7 .H = Screen.AvailableHeight * 0.7 .Arrangement = Arrange.Vertical .Padding = 5 End With End Public Sub GridView1_Click() GridView1.Current.Background = Color.Red cl = GridView1.Column End Public Sub GridView1_MouseMove() If cl < GridView1.Column Then ' Colora di rosso il gruppo di celle unificato: GridView1.Current.Background = Color.Red GridView1[GridView1.Row, cl].ColumnSpan = GridView1.Column - cl + 1 Endif End
Unire le celle di due o più colonne
Nell'esempio pratico, che segue, abbiamo una GridView formata da tre righe e tre colonne.
Uniremo in un'unica cella le celle delle tre colonne con riferimento alla prima riga. Inoltre inseriremo nell'unica grande cella un testo al centro.
Public Sub Form_Open() With GridView1 .Rows.Count = 3 .Columns.Count = 3 End With With GridView1[0, 0] .ColumnSpan = 3 .Alignment = Align.Center .Text = "testo" End With End
Unire un gruppo di celle di una colonna individuando con il puntatore del mouse la prima e l'ultima cella del gruppo
In quest'altro esempio le celle di una colonna da unire saranno individuate, cliccando sulla prima cella da unire e, (mantenendo premuto il tasto del mouse) dopo esserci spostati con il puntatore del mouse sull'ultima cella da unire, rilasciando su quest'ultima cella il tasto del mouse:
Public Sub Form_Open() With GridView1 .Columns.Count = 3 .Rows.Count = 10 End With End Public Sub GridView1_Click() GridView1.Tag = GridView1.Row End Public Sub GridView1_MouseUp() ' Consente di ottenere l'unione delle celle su una medesima colonna sia se ci si sposta con il mouse verso il basso, sia verso l'alto: With GridView1 If .Row < .Tag Then GridView1[.Row, .Column].RowSpan = .Tag - .Row + 1 Else GridView1[.Tag, .Column].RowSpan = .Row - .Tag + 1 Endif End With End
Unire più aree di celle già unite
Se, unendo le celle, sono stati realizzati due o più gruppi di celle unificate e si intende unire tra loro tali gruppi unificati, bisognerà partire con il puntatore del mouse dall'area cella, che era stata la prima del gruppo da cui si parte, fino all'area della cella che era stata l'ultima del gruppo che si vuole ora unire al gruppo di partenza.
_ |
Separare nuovamente le celle precedentemente unite
Con i medesimi codici, sopra descritti, è possibile separare nuovamente le celle che erano state unite.
Se in una cella sono state unificate le celle di più righe (usando la Proprietà ".RowSpan"), per unire due celle va cliccato sulla parte (della cella unificata) superiore alla nuova cella che si intende ricreare.
Similmente, se in una cella sono state unificate le celle di più colonne (usando la Proprietà ".ColumnSpan"), per unire due celle va cliccato sulla parte (della cella unificata) a sinistra della nuova cella che si intende ricreare.