Gambas-it

Gambas3 => Programmazione => Topic aperto da: giango - 02 Ottobre 2014, 10:29:02

Titolo: gridview
Inserito da: giango - 02 Ottobre 2014, 10:29:02
C'è un particolare comportamento della grid che non riesco ad impostare. Mi riferisco all'altezza della singola riga che dovrebbe essere un sottomultiplo dell'area visibile.
Se non lo è, il comportamento durante lo scorrimento provoca un fastidioso spostamento delle linee orizzontali, anziché mantenere la griglia perfettamente stabile
nella sua posizione. Il problema è dunque quello di capire quanto deve essere la Rows.Height in funzione dell'altezza complessiva, tenendo conto che esiste anche
la testata che ha il suo valore specifico che può essere diverso dalle righe griglia.
Capisco che la cosa potrebbe essere definita una "finezza", ma ritengo che sia utile a dare un tocco professionale all'applicazione.
Che ne pensate?
Titolo: Re: gridview
Inserito da: vuott - 03 Ottobre 2014, 02:21:06
Mi riferisco all'altezza della singola riga che dovrebbe essere un sottomultiplo dell'area visibile.
Se non lo è, il comportamento durante lo scorrimento provoca un fastidioso spostamento delle linee orizzontali, anziché mantenere la griglia perfettamente stabile
A me pare che non accade questo problema.  :-\
Titolo: Re: gridview
Inserito da: giango - 04 Ottobre 2014, 16:56:30
Ho provato ad impostare nella formattazione della grid
     gv.Rows.Height = 20
     gv.Height = 280
pertanto mi aspetto di trovare 14 righe esatte. Invece le righe sono 13,5 circa
e lo scorrimento verticale della grid sposta continuamente la linee orizzontali verso l'alto.
Questo significa che nella "height" della grid si tiene conto anche dell'altezza testata dei titoli,
che non c'è modo di modificare però.
E' un bel dilemma....!
Titolo: Re: gridview
Inserito da: vuott - 04 Ottobre 2014, 17:02:57
Ho provato ad impostare nella formattazione della grid....
Puoi farci vedere qui la parte di codice, con la quale viene impostata la GridView ?
Titolo: Re: gridview
Inserito da: giango - 04 Ottobre 2014, 17:05:43
Ecco qui:
Citazione
Public Sub format_gv_analisi()            '
    With gv_analisi
      .Clear
      .Columns.Count = 4
      .Columns[0].Text = "nominativo"
      .Columns[1].Text = "anno"
      .Columns[2].Text = "mese"
      .Columns[3].Text = "ore"
      .Columns[1].Alignment = Align.Center
      .Columns[2].Alignment = Align.Center
      .Columns[3].Alignment = Align.Center
      .Columns[4].Alignment = Align.Center
      .Columns[0].Width = 150
      .Columns[1].Width = 40
      .Columns[2].Width = 40
      .Columns[3].Width = 40
      .Rows.Height = 20
      .Height = 280
  End With
End
Titolo: Re: gridview
Inserito da: vuott - 04 Ottobre 2014, 17:08:59
ehmmm.... riscontro - ad ogni modo - un errore qua:   :-\

Codice: gambas [Seleziona]
 .Columns.Count = 4
....
....
  .Columns[4]......etc

Indice superiore al numero degli elementi.

Va be'... commento la riga .Columns[4] e risolvo.
Titolo: Re: gridview
Inserito da: vuott - 04 Ottobre 2014, 17:12:28
...manca l'impostazione delle righe.
Ossia:

Codice: gambas [Seleziona]
.Rows.Count = ????
Titolo: Re: gridview
Inserito da: giango - 04 Ottobre 2014, 17:16:53
Il codice che ho postato serve per formattare la griglia per impiego generale, ma è solo quando vado ad aprire
il result dei records che imposto il rows.count.
Ovviamente questo è sempre un risultato variabile perchè dipende dalle occorrenze trovate.
Titolo: Re: gridview
Inserito da: vuott - 04 Ottobre 2014, 17:20:37
... è solo quando vado ad aprire il result dei records che imposto il rows.count.
Ovviamente questo è sempre un risultato variabile perchè dipende dalle occorrenze trovate.
Capisco, però, così è impossibile vedere la GridView impostata come di regola, ossia con Colonne e Righe.
Mettiamo là dentro quella impostazione delle righe ai fini del test.... dunque quante righe - più o meno - potrebbero in media essere previste ?
Titolo: Re: gridview
Inserito da: giango - 04 Ottobre 2014, 17:22:30
Da una a cento in media, dipende dall'impostazione del filtro sui records.
Titolo: Re: gridview
Inserito da: vuott - 04 Ottobre 2014, 17:32:23
Allora... ho impostato prima 20 righe, poi 51, e non ho avuto alcun problema:  :-\ le righe sono tutte uguali. 

Hai provato ad aggiornare Gambas ?
Titolo: Re: gridview
Inserito da: giango - 04 Ottobre 2014, 17:35:35
Non ho fatto alcun aggiornamento perchè l'ho installato circa 15 giorni fa.
Comunque provo a farlo e vediamo.
Titolo: Re: gridview
Inserito da: vuott - 04 Ottobre 2014, 17:36:55
...un'altra cosa: sei sicuro che con la riga:
Codice: gambas [Seleziona]
.Columns[0].Text = "nominativo"

venga stampato il testo all'interno della prima colonna ?
Titolo: Re: gridview
Inserito da: vuott - 04 Ottobre 2014, 17:41:26
Non ho fatto alcun aggiornamento perché....
Faccio notare che gli aggiornamenti - a volte - avvengono ogni giorno, ed a volte anche ripetutamente nel medesimo giorno.  (http://levipere.com/wp-content/plugins/smilies-themer/Axendr/icon_rolleyes.gif)
Titolo: Re: gridview
Inserito da: giango - 04 Ottobre 2014, 17:43:51
Il testo relativo al nominativo è correttamente stampato nella prima colonna (la zero), e la griglia
non da alcun problema nell'agganciare il corretto riferimento a records e campi.
Ho appena lanciato l'aggiornamento del sistema e poi vediamo. Grazie.
Titolo: Re: gridview
Inserito da: vuott - 04 Ottobre 2014, 17:48:28
Il testo relativo al nominativo è correttamente stampato nella prima colonna (la zero)...
Boh... a me questo non accade.  :-\
Per mostrare il testo ho bisogno di specificare colonna e riga, in sostanza la cella così:
Codice: gambas [Seleziona]
GridView1[0, 0].Text = "nominativo"
:-X
Titolo: Re: gridview
Inserito da: vuott - 04 Ottobre 2014, 17:50:00
Ho appena lanciato l'aggiornamento del sistema...
Ehmmm... ovviamente intendevo l'aggiornamento della versione di Gambas.
Titolo: Re: gridview
Inserito da: giango - 04 Ottobre 2014, 17:54:43
Per l'aggiornamento ho preferito quello dell'intero sistema, visto che gambas viene aggiornato in base al proprio repository.
Così vado sul sicuro. Per quanto concerne invece la tua obiezione in merito a
.Columns[0].Text = "nominativo"
quella serve solo per il titolo, mentre quando interrogo la griglia ciò avviene mediante
 gv_analisi[riga_record, 0].Text = !nominativo
Titolo: Re: gridview
Inserito da: giango - 04 Ottobre 2014, 17:59:27
Fatto l'aggiornamento dell'intero sistema e provato il programma.
Stesso comportamento. Per info metto il system information:
Citazione
[System]
Gambas=3.5.4
OperatingSystem=Linux
Kernel=3.13.0-24-generic
Architecture=x86_64
Distribution=Linux Mint 17 Qiana
Desktop=KDE4
Theme=Oxygen
Language=it_IT.UTF-8
Memory=3953M
[Libraries]
Cairo=libcairo.so.2.11301.0
Curl=libcurl.so.4.3.0
DBus=libdbus-1.so.3.7.6
GStreamer=libgstreamer-0.10.so.0.30.0
GStreamer=libgstreamer-1.0.so.0.204.0
GTK+=libgtk-x11-2.0.so.0.2400.23
OpenGL=libGL.so.1.2.0
Poppler=libpoppler.so.44.0.0
Qt4=libQtCore.so.4.8.6
SDL=libSDL-1.2.so.0.11.4
Titolo: Re: gridview
Inserito da: vuott - 04 Ottobre 2014, 18:02:37
Fatto l'aggiornamento dell'intero sistema e provato il programma.
Stesso comportamento.

...alzo le mani !   (http://levipere.com/wp-content/plugins/smilies-themer/Axendr/SmileySuicide.gif)
Titolo: Re: gridview
Inserito da: giango - 04 Ottobre 2014, 18:05:40
Grazie comunque per la tua disponibilità.