Autore Topic: Evento ColumnSize in GridView?  (Letto 502 volte)

Offline Cris_70

  • Gamberetto
  • *
  • Post: 12
    • Mostra profilo
Evento ColumnSize in GridView?
« il: 18 Novembre 2021, 12:30:56 »
Ciao a tutti,
sto cercando di capire a cosa serve l'evento ColumnSize di una gridview.
Esistono due eventi apparentemente simili: ColumnResize e ColumnSize.
ColumnResize viene chiamato in tempo reale mentre l'utente sta esrguendo il resize di una colonna... sostanzialmente ogni volta che la proprietà Width di una colonna cambia, l'evento viene chiamato.
Mi aspettavo, in base alla documentazione, che l'evento ColumnSize venisse richiamato alla fine dell'operazione di resize. Cioè quando l'utente ha terminato il resize e la colonna assume la sua nuova Width definitiva. La documentazione infatti dice "Viene sollevato quando una colonna specifica è stata ridimensionata."
Peccato che invece l'evento non venga sollevato mai. Non riesco a triggerarlo in nessun caso.
Qualcuno sa a cosa serve questo evento?

Grazie, ciao
Cris

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Evento ColumnSize in GridView?
« Risposta #1 il: 18 Novembre 2021, 16:08:18 »
Prova questo codice:

Codice: [Seleziona]
Public Sub Form_Open()

  Dim aHeaders As String[] = ["PIPPO", "PLUTO", "TOPOLINO", "MINNIE"]
  Dim hGrid As GridView

  hGrid = New GridView(Me) As "GridView1"

  With Me
    .H = 512
    .W = 512
    .Arrangement = Arrange.Fill
    .Margin = True
  End With
  With hGrid
    .AutoResize = True
    .Header = GridView.Horizontal
    .Rows.Count = 10
    .Columns.Count = aHeaders.Count
    .Columns[0].Width = 10
  End With

  For i As Integer = 0 To aHeaders.Max
    hGrid.Columns[i].Title = aHeaders[i]
    hGrid.Columns[i].Expand = True
  Next
  hGrid.Columns[1].Width = -1

End

Public Sub GridView1_ColumnResize(Column As Integer)
 
  Print "RESIZE "; Column
 
End

Public Sub GridView1_ColumnSize(Column As Integer)
 
  Print "SIZE "; Column
 
End

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

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re:Evento ColumnSize in GridView?
« Risposta #2 il: 18 Novembre 2021, 17:14:27 »
Con l'esempio di Gianluigi ho visto che l'evento ColumnSize si scatena solo se fai doppio click quando il mouse ha il puntatore di ridimensionamento colonna.
Tipo quando fai il ridimensionamento automatico in un foglio di calcolo, che con il doppio clic la colonna si dimensiona alla lunghezza del testo della cella.
« Ultima modifica: 18 Novembre 2021, 17:17:39 da milio »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.719
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Evento ColumnSize in GridView?
« Risposta #3 il: 19 Novembre 2021, 01:05:09 »
Io invece ho notato che l'Evento "_ColumnSize()" si scatena solo se nella prima routine:
Codice: [Seleziona]
hGrid.Columns[1].Width = -1
Se viene posto un valore uguale o maggiore di zero, l'Evento non si solleva.
« 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 Cris_70

  • Gamberetto
  • *
  • Post: 12
    • Mostra profilo
Re:Evento ColumnSize in GridView?
« Risposta #4 il: 19 Novembre 2021, 12:21:32 »
Grazie a tutti per l'interessante approfondimento!!
Credo che sarebbe utile aggiungere queste informazioni alla pagina di documentazione di questo evento, che ne dite?

Ciao
Cris

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.719
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Evento ColumnSize in GridView?
« Risposta #5 il: 19 Novembre 2021, 13:55:04 »
Credo che sarebbe utile aggiungere queste informazioni alla pagina di documentazione di questo evento, che ne dite?
Quello che possiamo fare noi (...Gianluigi) direttamente e nell'immediato è creare una pagina nella wiki del forum.
Per quel che riguarda la guida on-line ufficiale, non so se è consentito integrare autonomamente dei dettagli.
Su questo può dire meglio Gianluigi.
« 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
Re:Evento ColumnSize in GridView?
« Risposta #6 il: 19 Novembre 2021, 14:34:19 »
Credo che sarebbe utile aggiungere queste informazioni alla pagina di documentazione di questo evento, che ne dite?
Quello che possiamo fare noi (...Gianluigi) direttamente e nell'immediato è creare una pagina nella wiki del forum.
Ora non posso, appena mi libero degli impegni e se mi ricordo vedo di scrivere qualcosa al riguardo
Citazione

Per quel che riguarda la guida on-line ufficiale, non so se è consentito integrare autonomamente dei dettagli.
Su questo può dire meglio Gianluigi.

Chiunque di noi iscritto al bugtracker e con una discreta conoscenza dell'inglese può modificare la guida in linea e naturalmente anche la traduzione.
Basta cliccare in alto a destra su LOGIN e dare la password dell'iscrizione al bugtracker qui:
http://gambaswiki.org/wiki
o direttamente sulla pagina interessata...
Altri documenti utili:
http://gambaswiki.org/wiki/doc/markdown
http://gambaswiki.org/wiki/doc/wiki
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Cris_70

  • Gamberetto
  • *
  • Post: 12
    • Mostra profilo
Re:Evento ColumnSize in GridView?
« Risposta #7 il: 22 Novembre 2021, 11:36:06 »
Ho aggiornato la pagina in inglese, solo per QT però. Ho il dubbio che in GTK funzioni in modo un po' diverso.
Appena posso testo anche GTK. Adesso aggiorno anche la pagina in italiano.