Spostare su e giù le righe di una GridView con i tasti "up" e "down"
Da Gambas-it.org - Wikipedia.
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 dai membri "Gianluigi" e "allegfede" del forum www.gambas-it.org