Gambas-it

Gambas3 => Programmazione => Topic aperto da: allegfede - 30 Marzo 2017, 13:19:57

Titolo: Come nascondere una colonna di una Gridview?
Inserito da: allegfede - 30 Marzo 2017, 13:19:57
Codice: [Seleziona]
Public Sub render_interface()
 
  GridView_FileList.Header = 1
  GridView_FileList.AutoResize = False
 
  GridView_FileList.Columns.Count = 5
  GridView_FileList.Rows.Count = 20
 
  GridView_FileList.Columns[0].Width = 0
  GridView_FileList.Columns[0].Title = "id"
 
  GridView_FileList.Columns[1].W = 0
  GridView_FileList.Columns[1].Title = "check_path"
 
  GridView_FileList.Columns[2].W = 200
  GridView_FileList.Columns[2].Title = "Where to copy"
 
  GridView_FileList.Columns[3].W = 0
  GridView_FileList.Columns[3].Title = "copy_path"
 
  GridView_FileList.Columns[4].W = 1200
  GridView_FileList.Columns[4].Title = "Where to copy"
End


ma le colonne con larghezza 0 sono sempre visibili .... invece io vorrei nasconderle
Titolo: Re:Come nascondere una colonna di una Gridview?
Inserito da: Gianluigi - 30 Marzo 2017, 16:19:35
Credo che sia un bug, dovresti segnalarlo.

Per quanto riguarda la proprietà AutoResize se la imposti a False ottieni che l'ultima colonna non riempa lo spazio rimanente se la larghezza della finestra è maggiore di quella della gridviev.

 :ciao: :ciao:
Titolo: Re:Come nascondere una colonna di una Gridview?
Inserito da: vuott - 30 Marzo 2017, 16:55:46
E' l'assegnazione di valori alla proprietà ".Title" a non consentire l'occultamento di una colonna.
Ad ogni modo va fatto rilevare che l'attribuzione del valore zero alla proprietà ".Width" di ciascuna colonna adatta la larghezza della singola colonna alla lunghezza del testo presente nella sua proprietà ".Title".

Codice: [Seleziona]
Public Sub Form_Open()

  Dim b As Byte

  GridView1.W = 0
  GridView1.Header = 1
  GridView1.AutoResize = False
 
  GridView1.Columns.Count = 5
  GridView1.Rows.Count = 20
 
  GridView1.Columns[0].W = 0
  GridView1.Columns[0].Title = "id"
 
  GridView1.Columns[1].W = 0
  GridView1.Columns[1].Title = "check_path"
 
  GridView1.Columns[2].W = 0
  GridView1.Columns[2].Title = "Where to copy"
 
  GridView1.Columns[3].W = 0
  GridView1.Columns[3].Title = "copy_path"
 
  GridView1.Columns[4].W = 0
  GridView1.Columns[4].Title = "Where to copy"
 
  For b = 0 To GridView1.Columns.Max
    GridView1.W = GridView1.W + GridView1.Columns[b].W
  Next

End
Titolo: Re:Come nascondere una colonna di una Gridview?
Inserito da: Gianluigi - 30 Marzo 2017, 17:31:32

Ad ogni modo va fatto rilevare che l'attribuzione del valore zero alla proprietà ".Width" di ciascuna colonna adatta la larghezza della singola colonna alla lunghezza del testo presente nella sua proprietà ".Title".


A me risultava che per ottenere l'adattamento al contenuto della colonna si dovesse impostare la larghezza a -1  :-\
Titolo: Re:Come nascondere una colonna di una Gridview?
Inserito da: vuott - 30 Marzo 2017, 17:44:42
E' vero, sì, ma evidentemente lo zero raggiunge un risultato visivo sufficientemente soddisfacente.
Titolo: Re:Come nascondere una colonna di una Gridview?
Inserito da: allegfede - 31 Marzo 2017, 13:12:33
interessante e' che ridimensionando a mano la colonna questa si puo' "collassare" e quindi nascondere, a run time :-/
Titolo: Re:Come nascondere una colonna di una Gridview?
Inserito da: Gianluigi - 31 Marzo 2017, 14:59:59
interessante e' che ridimensionando a mano la colonna questa si puo' "collassare" e quindi nascondere, a run time :-/

Infatti è per questo motivo che credo si tratti di un bug...
In effetti anche -1 non adegua la larghezza al contenuto della colonna (funziona solo non impostando width)  :-\