Differenze tra le versioni di "Spostare su e giù le righe di una GridView con i tasti "up" e "down""
Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per spostare su e giù le righe di una ''GridView'' con i tasti "up" e "down" della tastiera, cambiando così l'ordine iniziale delle righe, è possibile utilizzare una routin...") |
|||
Riga 1: | Riga 1: | ||
− | Per spostare su e giù le righe di una ''GridView'' con i tasti "up" e "down" della tastiera, cambiando così l'ordine iniziale delle righe, è possibile utilizzare | + | Per spostare su e giù le righe di una ''GridView'' con i tasti "up" e "down" della tastiera, cambiando così l'ordine iniziale delle righe, è possibile utilizzare opportunamente la funzione ''Swap( )'' all'interno della routine dell'evento ''_KeyPress( )'' della Classe ''GridView'', come nell'esempio pratico che segue: |
'''Public''' Sub Form_Open() | '''Public''' Sub Form_Open() | ||
Versione delle 11:41, 22 giu 2017
Per spostare su e giù le righe di una GridView con i tasti "up" e "down" della tastiera, cambiando così l'ordine iniziale delle righe, è possibile utilizzare opportunamente la funzione Swap( ) all'interno della routine dell'evento _KeyPress( ) della Classe GridView, come nell'esempio pratico che segue:
Public Sub Form_Open() Dim j As Byte With GridView1 .Columns.Count = 3 .Rows.Count = 3 End With With GridView1 .Header = 1 .Columns[0].Alignment = Align.Center .Columns[0].Title = "Id" .Columns[1].Alignment = Align.Center .Columns[1].Title = "Nome" .Columns[2].Alignment = Align.Center .Columns[2].Title = "Altro" End With For j = 0 To 2 With GridView1[j, 0] .Text = CStr(j) End With With GridView1[j, 1] .Text = Chr(80 - j) End With With GridView1[j, 2] .Text = CStr(Fix(Rnd(10, 50))) End With Next End Public Sub GridView1_KeyPress() [Nota 1] Dim i As Integer Select Case Key.Code Case Key.Up If GridView1.Row = 0 Then Return For i = 0 To GridView1.Columns.Max Swap GridView1[GridView1.Row, i].Text, GridView1[GridView1.Row - 1, i].Text Next Case Key.Down If (GridView1.Row + 1) = GridView1.Rows.Count Then Return For i = 0 To GridView1.Columns.Max Swap GridView1[GridView1.Row, i].Text, GridView1[GridView1.Row + 1, i].Text Next End Select End
Va fatto notare che è possibile scegliere quale riga sia il punto di riferimento dello spostamento, cliccandovi sopra con il mouse.
Note
[1] La presente routine-evento è stata proposta dal membro "allegfede" del forum www.gambas-it.org