Torna al Thread
Public Class Form1
Private RigaSelezionata As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i, j As Integer
'inizializzo la variabile globale
RigaSelezionata = -1
'svuoto il datagrid
DataGridView1.Columns.Clear()
DataGridView1.Rows.Clear()
'creo le colonne
DataGridView1.Columns.Add("cA", "A")
DataGridView1.Columns.Add("cB", "B")
DataGridView1.Columns.Add("cC", "C")
DataGridView1.Columns.Add("cD", "D")
DataGridView1.Columns.Add("cE", "E")
DataGridView1.Columns.Add("cF", "F")
'riempio 11 righe
For i = 0 To 10
DataGridView1.Rows.Add()
'in tutte le colonne
For j = 0 To 5
'con un numero casuale tanto x metterci qualcosa ;)
DataGridView1.Rows(i).Cells(j).Value = i.ToString & " - " & j.ToString
Next
Next
'*** QUESTE VARIABILI LE PUOI IMPOSTARE GIA' DAL DESIGNER ****
'la parte grigia a sinistra della riga non mi piace, non ce la metto
DataGridView1.RowHeadersVisible = False
'tipo di selezione, clic su cella=selezione riga intera
DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
'tolgo la possibilità di selezionare più righe contemporaneamente
DataGridView1.MultiSelect = False
'*************************************************************
End Sub
Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
'memorizzo la riga selezionata
RigaSelezionata = e.RowIndex
End Sub
Private Sub btnUp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUp.Click
'controllo di non essere alla prima riga della datagridview
If RigaSelezionata > 0 Then
'creo una variabile di appoggio di tipo RIGA DI DATAGRIDVIEW
Dim R As DataGridViewRow
'copio per intero la riga da spostare
R = DataGridView1.Rows(RigaSelezionata)
'tolgo la riga vecchia
DataGridView1.Rows.Remove(R)
'inserisco la copia della riga SOPRA quella che devo togliere
DataGridView1.Rows.Insert(RigaSelezionata - 1, R)
'mantengo la selezione sulla riga spostata
DataGridView1.Rows(RigaSelezionata - 1).Selected = True
'ed aggiorno di conseguenza la variabile che indica la selezione
RigaSelezionata -= 1
'ridisegno la datagridview
DataGridView1.Refresh()
End If
End Sub
Private Sub btnDown_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDown.Click
'controllo di non essere all'ultima riga della datagridview
If RigaSelezionata < DataGridView1.Rows.Count - 1 Then
'creo una variabile di appoggio di tipo RIGA DI DATAGRIDVIEW
Dim R As DataGridViewRow
'copio per intero la riga da spostare
R = DataGridView1.Rows(RigaSelezionata)
'tolgo la riga vecchia
DataGridView1.Rows.Remove(R)
'inserisco la copia della riga SOTTO quella che devo togliere
DataGridView1.Rows.Insert(RigaSelezionata + 1, R)
'mantengo la selezione sulla riga spostata
DataGridView1.Rows(RigaSelezionata + 1).Selected = True
'ed aggiorno di conseguenza la variabile che indica la selezione
RigaSelezionata += 1
'ridisegno la datagridview
DataGridView1.Refresh()
End If
End Sub
End Class