ottimo! esattamente quel che cercavo.
questa funzione penso mi tornera' molto utile :D
Public Sub GridView_Media_KeyPress()
Dim iNx As Integer
If GridView_Media.Row = -1 Then Return
Select Case Key.Code
Case Key.Up
'Debug "up"
If GridView_Media.Row = 0 Then Return
For iNx = 0 To GridView_Media.Columns.Max
Swap GridView_Media[GridView_Media.Row, iNx].Text, GridView_Media[GridView_Media.Row - 1, iNx].Text
Next
'ricalcola i tempi
Case Key.Down
'Debug "down"
If (GridView_Media.Row + 1) = GridView_Media.Rows.Count Then Return
For iNx = 0 To GridView_Media.Columns.Max
Swap GridView_Media[GridView_Media.Row, iNx].Text, GridView_Media[GridView_Media.Row + 1, iNx].Text
Next
'ricalcola i tempi
End Select
ho aggiunto il metodo per elimiare la singola riga selezionata e aggiornare i contenuti opportunamente:
Public Sub GridView_Media_KeyPress()
Dim iNx As Integer
Dim Righe As Integer
If GridView_Media.Row = -1 Then Return
Select Case Key.Code
Case Key.Up
'Debug "up"
If GridView_Media.Row = 0 Then Return
For iNx = 0 To GridView_Media.Columns.Max
Swap GridView_Media[GridView_Media.Row, iNx].Text, GridView_Media[GridView_Media.Row - 1, iNx].Text
Next
'ricalcola i tempi
ReCalc
Case Key.Down
'Debug "down"
If (GridView_Media.Row + 1) = GridView_Media.Rows.Count Then Return
For iNx = 0 To GridView_Media.Columns.Max
Swap GridView_Media[GridView_Media.Row, iNx].Text, GridView_Media[GridView_Media.Row + 1, iNx].Text
Next
'ricalcola i tempi
Recalc
Case Key.Del
If Message.Question("Are you shure you want to remove:" & gb.crlf & GridView_Media[GridView_Media.Row, 6].Text, "YES", "NO", "CANCEL") <> 1 Then Return
For righe = GridView_Media.Row To GridView_Media.Rows.Count - 2
For iNx = 0 To GridView_Media.Columns.Max
Swap GridView_Media[righe + 1, iNx].Text, GridView_Media[righe, iNx].Text
Next
Next
GridView_Media.Rows.Count = GridView_Media.Rows.Count - 1
Recalc
End Select
End