Differenze tra le versioni di "Ordinare manualmente i valori all'interno di una colonna di una GridView"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "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: Publi...")
 
Riga 6: Riga 6:
 
     .Rows.Count = 5
 
     .Rows.Count = 5
 
     .Drop = True
 
     .Drop = True
 
+
 
     For b As Byte = 0 To .Columns.Max
 
     For b As Byte = 0 To .Columns.Max
 
       For c As Byte = 0 To .Rows.Max
 
       For c As Byte = 0 To .Rows.Max

Versione delle 12:10, 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