Autore Topic: Aiuto GridBox  (Letto 2216 volte)

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Aiuto GridBox
« il: 29 Ottobre 2010, 20:09:34 »
Ciao a tutti,

ho seguito il wiki della community sul componente gridbox (vers. 2.99.21).
La GridBox, che ho chiamata "griglia", mi viene popolata correttamente con tutti i record, però quando clicco sul bottone "salva" che fa partire il comando Me.griglia.Update() mi restituisce sempre errore... error.text = [Unknow symbol 'griglia' in class 'FMain']

Questo è il codice che ho usato nell'unico form del progetto, FMain:

Codice: vb.net [Seleziona]
' Gambas class file

Public $myCon As New Connection


Public Sub _new()
 
  With $myCon
    .Type = "mysql"
    .Host = "localhost"
    .Name = "_mio_db_"
    .Login = "_mio_login_"
    .Password = "_mia_password_"
  End With

  With griglia
    .Expand = True
    .Connection = $myCon
    .AutoDataType = True
    .FieldKey = ["id"]
    .Columns.Count = 5
    .TableName = "log"
    .LoadData("select * from log ORDER BY id")
    .ColorRowAlternating = True
  End With

  With griglia.Columns[0]
    .Hide = False
    .Type = Grid.Type.Field
    .Field = "id"
    .Text = "ID"
    .w = 40
    .Alignment = 3
    .DataType = Grid.DataType.Serial
  End With

  With griglia.Columns[1]
    .Hide = False
    .Type = Grid.Type.Field
    .Field = "utente"
    .Text = "Utente"
    .w = 80
  End With

  With griglia.Columns[2]
    .Hide = False
    .Type = Grid.Type.Field
    .Field = "azione"
    .Text = "Azione"
    .w = 400
  End With
 
  With griglia.Columns[3]
    .Hide = False
    .Type = Grid.Type.Field
    .Field = "data"
    .Text = "Data"
    .w = 90
  End With
 
  With griglia.Columns[4]
    .Hide = False
    .Type = Grid.Type.Field
    .Field = "ora"
    .Text = "Ora"
    .w = 80
  End With

End

Public Sub Form_Open()
 
  Me.Center
 
End

Public Sub salva_Click()

  Me.griglia.Update()
 
 
  Catch
    Message.Error(Error.Text, "Ok")
   

End



Il wiki è riferito alla versione di Gambas2, però io ho installato il componente e l'ho provato su Gambas3...
Ho notato che un errore simile me lo restituisce ogni volta uso il "Me.griglia..."

Dove sbaglio?

PS: Nel mio progetto non ho importato nessuna classe o modulo aggiuntivo del GridBox... nel progetto c'è solo FMain... Ho semplicemente attivati dalle preferenze i componenti gb.db e gb.gridbox.
PPS: Sono sicuro che non c'entra nulla, ma ho provato anche con un db di SQLite... stesso errore...

PPPS: da quello che ho potuto vedere il componente gridbox è semplicemente fantastico!!! :ok:

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Aiuto GridBox
« Risposta #1 il: 29 Ottobre 2010, 20:21:05 »
  :yeah: Grazie di esistere... e siamo tre (forse 4) ad utilizzare il componente :)
l'errore e' dato dal fatto che non hai impostato in Progetto --> Proprietà --> Opzioni --> 'i controlli del form sono "public"' --> Si

oppure se non vuoi settare questa opzione devi togliere il Me davanti a Me.griglia.Update() 

ciao

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Aiuto GridBox
« Risposta #2 il: 29 Ottobre 2010, 20:31:12 »
Milio,

non scherzare... Grazie a te!  :)

Ho seguito entrambe le soluzioni:
soluzione n1) senza il Me.
soluzione n2) settando le proprietà...

Ma quando faccio una modifica sulla griglia e poi clicco "salva" mi restituisce un altro errore. Error.Text= [Null Object]...  ???

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Aiuto GridBox
« Risposta #3 il: 29 Ottobre 2010, 20:46:58 »
hai provato anche con db sqlite?

in questo caso me lo puoi postare che verifico qual puo' essere l'errore?

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Aiuto GridBox
« Risposta #4 il: 29 Ottobre 2010, 20:56:02 »
Con SQLite non da alcun problema!  :ok:

Aggiungo i record, li salvo, ecc...

Il problema è che per il mio progetto gestionale sono orientato su MySQL visto che dovrò usarlo in multiutenza (e mi hanno spiegato che SQLite non supporta questa ozpione).
Si può risolvere in qualche modo? oppure è un problema dei miei settaggi di MySQL?

...e grazie ancora!  :)

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Aiuto GridBox
« Risposta #5 il: 29 Ottobre 2010, 20:58:26 »
Mi arrivi a fare un backup del db ? (sempre che non ci siano dati sensibili)

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Aiuto GridBox
« Risposta #6 il: 29 Ottobre 2010, 21:08:15 »
(sempre che non ci siano dati sensibili)

No, figurati...
per le prove mi sono allacciato alla tabella "log" del "goshdb", il database mysql creato da GestHotel di fsurfing.

Ti allego il backup del DB mysql...

[edit]
Ho fatto una prova... Ho creato un nuovo DB MySQL vuoto da MySQl Administrator, con la stessa tabella e gli stessi campi...
Quando lancio l'eseguibile gambas con la GridBox ed aggiungo i nuovi record e li salvo è tutt'ok, come quando uso SQLite...
Invece se modifico dati già esistenti e poi faccio l'Update()... mi da il solito errore: Error.Text = [Null Object]

Allora ho riprovato anche con SQLite, ed invece i record sono modificabili (e non mi da nessun errore)
[fine edit]
« Ultima modifica: 29 Ottobre 2010, 21:28:05 da perseo »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Aiuto GridBox
« Risposta #7 il: 29 Ottobre 2010, 21:49:16 »
Ok ho tirato su il db e ho visto dove sta l'errore... nelle ultime versioni della grid ho sempre fatto prove su db postgresql e sqlite...
Purtroppo devo fare qualche aggiustatina per Mysql....

Ci aggiorniamo

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Aiuto GridBox
« Risposta #8 il: 29 Ottobre 2010, 21:53:39 »
Perfetto!  ;)
Se vuoi, in futuro posso aiutarti a testare il componente. E' davvero eccellente! :)

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Aiuto GridBox
« Risposta #9 il: 29 Ottobre 2010, 21:57:50 »
Te ne sarei grato, almeno cosi' fai compagnia a Golia ;)

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Aiuto GridBox
« Risposta #10 il: 29 Ottobre 2010, 22:39:11 »
Finalmente un collega  :2birre: :2birre:
Devi scusarmi per il wiki, l'avevo cominciato per G2, poi si è deciso di andare avanti solo con G3 e ho lasciato lì tutto com'era...Devo finire di sistemare.
Per quanto riguarda l'errore in effetti io non ho mai provato con G3+Mysql. Con G3 l'ho solo testato con sqlite. Nel mio gestionale fatto con G2 non mi dà nessun problema con gridbox, e uso mysql.

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Aiuto GridBox
« Risposta #11 il: 29 Ottobre 2010, 22:41:53 »
Ho gia' fatto qualche modifica... e' da testare. i sorgenti sono nel post riguardante la gridbox...

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Aiuto GridBox
« Risposta #12 il: 29 Ottobre 2010, 22:45:59 »
Provo subito...
Se vuoi possiamo continuare lì per non smembrare le informazioni.

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Aiuto GridBox
« Risposta #13 il: 29 Ottobre 2010, 22:54:03 »
si forse e' meglio, altrimenti arriva il moderatore cattivo e ci bacchetta tutti quanti  :nono:  ;D

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Aiuto GridBox
« Risposta #14 il: 02 Novembre 2010, 16:13:32 »
si forse e' meglio, altrimenti arriva il moderatore cattivo e ci bacchetta tutti quanti  :nono:  ;D