Autore Topic: TableView o GridView?  (Letto 1647 volte)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
TableView o GridView?
« il: 15 Agosto 2012, 23:05:33 »
Implementando il mio prgramma ho voluto provare ad inserire in una nuova Form una TableView, mai usata prima d'ora; nel mio passato gambasiano ho usato sempre  e solamente la Form GridView. Ho approfittato perciò dell'occasione per scoprire le differenze dei due oggetti grafici. Devo dire che l'unica differenza evidente, saltata davanti ai miei occhi è stato il pulsante di popup che ho trovato nella cella di testa della 1a colonna. A parte ciò i due ioggetti mi sembrano perfettamente intercambiabili. Non so se magari mi possa essere sfuggita qualche altra particolarità. Chi mi sa dire di più?
:ciao:

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: TableView o GridView?
« Risposta #1 il: 31 Agosto 2012, 10:20:33 »
Riprendo l'argomento solo per citare quello che ho capito, durante le prove fatte al programma:
Il pulsantino a forma di triangolo posto sulla riga di testata della 1^ colonna, dovrebbe avere lo scopo di invertire l'ordine delle righe di dettaglio sottostanti; infatti, ho notato che cliccando sul pulsantino-triangolo, esso si capovolge, per cui, se il triangolo ha il vertice rivolto il basso, premendoci sopra, il vertice andrà a rivolgersi verso l'alto e viceversa.
Non capiso però perchè, pur agendo su detto pulsantino, l'unico risultato che si ottiene è proprio quello del capovolgimento del triangolo, mentre le righe di dettaglio della tableView rimangono inalterate. Ho cercato fra le proprietà, ma non ho trovato alcun riferimento. Ho anche cercato msugli eventi relativi alla tableView, ed a parte l'evento "ColumnClick", non ho trovato altro, ma codesto evento è associabile a qualsiasi colonna, quindi non permette la gestione esclusiva del click sul pulsantinio-triangolo a cui mi riferisco.
Essendo la prima colonna diversa dalle altre, proprio per la presenza dell'oggetto  pulsantinio-triangolo, non dovrebbe esistere una proprietà personalizzata ad esso?  ???
 :ciao:
:ciao:

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: TableView o GridView?
« Risposta #2 il: 31 Agosto 2012, 11:07:12 »
La proprieta' che cerchi e' GridView.Sorted (o TableView.Sorted)

Impostandola a True abiliti 'il triangolino' e il conseguente evento GridView_Sort() (o TableView_Sort)

Il perche' non ti fa il riordino delle righe e' che lo devi gestire tu da codice (lo dice anche la guida stessa), ti si da in mano solo un evento che si scatena al cliccare sul triangolino, poi con la proprietà GridView1.Columns.Ascending = True o False (o TableView.Columns.Ascending = True/False) sai quale direzione ha preso il triangolino e in base a questo devi costruire il codice per riordinare le tue righe....

In merito a quest'ultima, ti rimando a questa discussione:
http://www.gambas-it.org/smf/index.php?topic=2170.0

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: TableView o GridView?
« Risposta #3 il: 31 Agosto 2012, 15:22:14 »
La proprieta' che cerchi e' GridView.Sorted (o TableView.Sorted)

Impostandola a True abiliti 'il triangolino' e il conseguente evento GridView_Sort() (o TableView_Sort)

Ho provato a costruire una gridview per verificare la presenza del pulsantino-triangolo e, come ricordavo il pulsantino nonè comparso nè con la proprietà .sort=TRUE nè con la proprietà .sort=FALSE, allora tale caratteristaca appartiene solamente alla TableView. Ho capito, perchè me l'hai detto tu che, qualora avessi bisogno di ordinare il contenuto della TablweView in modo ascendente o discendente, dovrei mettere su un insieme di istruzione dentro l'evento _Sort. Allora ribadisco il mio concetto relativamente alla falsa funzione, secondo me, del pulsantino-triangolo, perché il sort della tableView o di una o più colonne, posso gestirlo da codice ugualmente dentro l'evento "ColumnClick", senza subire l'impegno di maggiore spazio della colonna dove figura il pulsantino-triangolo
:ciao:

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: TableView o GridView?
« Risposta #4 il: 31 Agosto 2012, 16:15:44 »
Ho provato a costruire una gridview per verificare la presenza del pulsantino-triangolo e, come ricordavo il pulsantino nonè comparso nè con la proprietà .sort=TRUE nè con la proprietà .sort=FALSE, allora tale caratteristaca appartiene solamente alla TableView.


 :-\ Io sia che sia GridView o Tableview il tringolino, con proprietà .sort = True il triangolino mi esce....

Tieni conto che la TableView e' una GridView modificata, quindi eredita le caratteristiche della classe genitore...


Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: TableView o GridView?
« Risposta #5 il: 31 Agosto 2012, 23:23:08 »
per me la differenza sostanziale e che la tableview e editabile

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: TableView o GridView?
« Risposta #6 il: 31 Agosto 2012, 23:46:23 »
:-\ Io sia che sia GridView o Tableview il tringolino, con proprietà .sort = True il triangolino mi esce....

Tieni conto che la TableView e' una GridView modificata, quindi eredita le caratteristiche della classe genitore...
Ho rivisto la GridView utilizzata nel mio programma e mi sono reso conto perchè si comporta diversamente dalla TableView: Nella TableView ho definito una riga di testata orizzontale, mentre nella GridView, no. Inserendo la riga di testata anche nella GridView, il pulsantino-triangolo compare anche nella GridView, e sempre nella cella posta all'estrema sinistra della riga di testata.

per me la differenza sostanziale e che la tableview e editabile
Non conoscevo tale possibilità. Quindi ciò vuol dire che è possibile rappresentare un valore monetario facendolo accompagnare dalla maschera di editing relativa, oppure posso attribuire tale proprietà a tutta una colonna?
 :ciao:
:ciao: