Differenze tra le versioni di "Ordinare manualmente i valori all'interno di una colonna di una GridView"
Da Gambas-it.org - Wikipedia.
Riga 27: | Riga 27: | ||
With GridView1 | With GridView1 | ||
− | If .Column > .ColumnAt(Mouse.ScreenX - Me.X - .X) Then Return | + | If .Column <> .ColumnAt(Mouse.ScreenX - Me.X - .X) Then Return |
Dim ss As New String[.Rows.Count] | Dim ss As New String[.Rows.Count] | ||
For r As Byte = 0 To GridView1.Rows.Max | For r As Byte = 0 To GridView1.Rows.Max |
Versione delle 12:14, 10 dic 2023
Per ordinare manualmente mediante le risorse del Drag&Drop il testo contenuto nelle celle di una colonna di una GridView, si potrà adottare il seguente codice:
Public Sub Form_Open() With GridView1 .Columns.Count = 3 .Rows.Count = 5 .Drop = True For b As Byte = 0 To .Columns.Max For c As Byte = 0 To .Rows.Max GridView1[c, b].Text = b & "-" & c Next Next End With End Public Sub GridView1_MouseDrag() GridView1.Drag(GridView1.Current.Text, "text/html") End Public Sub GridView1_Drop() With GridView1 If .Column <> .ColumnAt(Mouse.ScreenX - Me.X - .X) Then Return Dim ss As New String[.Rows.Count] For r As Byte = 0 To GridView1.Rows.Max ss[r] = GridView1[r, .ColumnAt(Mouse.ScreenX - Me.X - .X)].Text Next ss.Remove(ss.Find(.Current.Text)) ss.Add(Drag.Data, .RowAt(Mouse.ScreenY - Me.Y - .Y)) For b As Byte = 0 To .Rows.Max GridView1[b, .ColumnAt(Mouse.ScreenX - Me.X - .X)].Text = ss[b] Next End With End