Autore Topic: [RISOLTO] GRIDVIEW - spostare le righe su e giu' ed eliminarle  (Letto 352 volte)

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
a parte copiare il contenuto della riga selezionata nelle celle di quella superiore (se si vuole spostare in su) e trascrivere il vecchio contenuto dove era prima quella che abbiamo spostato, esiste un metodo integrato nell'oggetoo per muovere le righe su e giu'?
« Ultima modifica: 29 Giugno 2017, 13:00:04 da allegfede »
se corri, morirai stanco (motto degli sniper)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:GRIDVIEW. Esiste metodo integrato per spostare le righe su e giu'?
« Risposta #1 il: 22 Giugno 2017, 16:25:09 »
Sempre che abbia capito la tua necessità, potresti usare Swap prendendo spunto da questa lezione.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:GRIDVIEW. Esiste metodo integrato per spostare le righe su e giu'?
« Risposta #2 il: 22 Giugno 2017, 18:21:27 »
ottimo! esattamente quel che cercavo.

questa funzione penso mi tornera' molto utile :D

Codice: [Seleziona]
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
se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.718
  • Ne mors quidem nos iunget
    • Mostra profilo
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
se corri, morirai stanco (motto degli sniper)

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:[RISOLTO] GRIDVIEW - spostare le righe su e giu' ed eliminarle
« Risposta #6 il: 29 Giugno 2017, 13:00:47 »
ho aggiunto il metodo per elimiare la singola riga selezionata e aggiornare i contenuti opportunamente:

Codice: [Seleziona]
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
se corri, morirai stanco (motto degli sniper)