Autore Topic: GridView  (Letto 885 volte)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
GridView
« il: 20 Giugno 2009, 22:45:23 »
Buona sera a tutti,

ho un problema su cui sto combattendo da qualche giorno, ed il mio accanimento sicuramente mi sta impedendo di trovare la soluzione, a questo punto ho deciso di postare.

Ho una GridView che viene popolata secondo la neccessità da dei dati letti da un DB
Codice: [Seleziona]
PUBLIC SUB Button1_Click()

  DIM i AS Integer
  DIM xResult AS Result

  xResult = Conn.db.Exec("SELECT dato1, dato2, dato3 FROM tabella1")

  GridView1.Rows.Count = xResult.Count

  FOR EACH xResult
    i = xResult.Index
   
    GridView1[i, 0].Text = xResult["dato1"]
    GridView1[i, 1].Text = xResult["dato2"]
    GridView1[i, 2].Text = xResult["dato3"]
     
  NEXT
    GridView1.Row = 0
 
 END

 inserendo manualmente i dati da delle TextBox
Codice: [Seleziona]
PUBLIC SUB Button2_Click()
 
  DIM i AS Integer

  GridView1.Rows.Count += 1
  i = GridView1.Rows.Count - 1

  GridView1[i, 0].Text = TextBox1.Text
  GridView1[i, 1].Text = TextBox2.Text
  GridView1[i, 2].Text = TextBox3.Text

END

o utilizzando entrambi le funzioni, ed è in questo caso che si presenta il problema.
Quando inserisco prima dei dati tramite Button2 e poi accodo altri dati con Button1 i dati precedentemente inseriti vengono "sovrascritti" dai dati del DB, se eseguo l'operazione inversa popolando prima la GridView con i dati del DB (Button1) e successivamente inserisco ulteriori dati con Button2 gli accoda senza problemi.    :muro:
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: GridView
« Risposta #1 il: 20 Giugno 2009, 22:53:09 »
la soluzione è molto semplice:
Codice: [Seleziona]
 
PUBLIC SUB Button1_Click()

  DIM i AS Integer
  DIM xResult AS Result

  xResult = Conn.db.Exec("SELECT dato1, dato2, dato3 FROM tabella1")

  GridView1.Rows.Count = xResult.Count

  FOR EACH xResult
    i = xResult.Index
   
    GridView1[i, 0].Text = xResult["dato1"]
    GridView1[i, 1].Text = xResult["dato2"]
    GridView1[i, 2].Text = xResult["dato3"]
      inc i  
  NEXT
    GridView1.Row = 0
 
 END


inc i
'' aumenta il contatore, necessario se si usa for each xresul invece di for i= 0 to xresul.count-1

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: GridView
« Risposta #2 il: 20 Giugno 2009, 23:06:40 »
Non funziona, i dati inseriti da Button2 continuano ad essere sovrascitti da Button1.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: GridView
« Risposta #3 il: 20 Giugno 2009, 23:10:48 »
a ok capito


basta che fai cosi credoprova coì:
Codice: [Seleziona]
 
PUBLIC SUB Button1_Click()

  DIM i AS Integer
  DIM xResult AS Result

  xResult = Conn.db.Exec("SELECT dato1, dato2, dato3 FROM tabella1")

i=  GridView1.Rows.Count

  GridView1.Rows.Count = xResult.Count + i


  FOR each xResult
   
   
    GridView1[i, 0].Text = xResult["dato1"]
    GridView1[i, 1].Text = xResult["dato2"]
    GridView1[i, 2].Text = xResult["dato3"]
      inc i  
  NEXT
    GridView1.Row = 0
 
 END

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: GridView
« Risposta #4 il: 20 Giugno 2009, 23:36:09 »
Funziona, grazie fsurfing.

E' dire che in questo forum qualche "mala lingua" non ti apprezza..... ;-)
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: GridView
« Risposta #5 il: 14 Settembre 2009, 21:16:22 »
Ho bisogno di impostare la proprietà Mode della GridView da codice e fattibile?

GridView.Mode ????
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: GridView
« Risposta #6 il: 14 Settembre 2009, 22:43:26 »
cavolo questa domanda da te non me l' aspettavo!

Codice: [Seleziona]

GridView1.Mode=select.single
'oppure
gridview1.mode=select.none
'oppure
gridview1.mode=select.multiple


proprio come nella "fornitissima" guida di gambas :)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: GridView
« Risposta #7 il: 14 Settembre 2009, 22:57:46 »
:oops:  :oops: mi scuso, la guida stavolta non l'ho proprio consultata.
Chiedo venia.

Grazie
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: GridView
« Risposta #8 il: 14 Settembre 2009, 23:08:12 »
figurati ... stavo scherzando  :2birre: