Spostare il testo da una cella a un'altra di una GridView senza Drag&Drop
Da Gambas-it.org - Wikipedia.
Mostriamo un esempio di come spostare il testo da una cella a un'altra di una GridView senza usare le risorse del Drag&Drop.
Private cc As New Short[2] Private s As String Public Sub Form_Open() With GridView1 .Columns.Count = 3 .Rows.Count = 3 End With GridView1[1, 0].Text = "testo qualsiasi" GridView1.Columns[0].W = -1 End Public Sub GridView1_Click() cc[0] = GridView1.Row cc[1] = GridView1.Column ' Preleviamo il testo, da trascinare, individuando precisamente la cella della "GridView": s = GridView1.Current.Text End Public Sub GridView1_MouseUp() ' Se lo spostamento avviene da una cella vuota in una cella contenente del testo, si esce da questa routine impedendo che il testo (se presente) della cella di arrivo sia cancellato. ' Altresì, se si clicca e si rilascia il mouse nella medesima cella, si esce da questa routine impedendo che il testo presente nella cella sia cancellato. If IsNull(s) Or ((GridView1.Row == cc[0]) And (GridView1.Column == cc[1])) Or (GridView1.RowAt(Mouse.Y) == -1) Then Return ' Rilasciamo nella nuova cella della "GridView" il testo prelevato dall'altra cella: GridView1.Current.Text = s ' Adeguiamo la larghezza della colonna della nuova cella al testo in essa rilasciato: GridView1.Columns[GridView1.Column].W = -1 ' Cancelliamo il testo presente nella cella, dalla quale è stato trascinato: GridView1[cc[0], cc[1]].Text = Null End