Autore Topic: Creazione componente: gb.gridbox  (Letto 137692 volte)

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #180 il: 31 Maggio 2010, 22:55:12 »
Che errore ti da?

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #181 il: 31 Maggio 2010, 23:24:29 »
Out of bouds

ti faccio vedere tutto il codice che forse sbaglio da qualche parte

Codice: [Seleziona]
[color=blue][font=Verdana]PUBLIC SUB _new()

Conn.connmydb()

    WITH GridEdit1
    .Expand = TRUE
    .Connection = Conn.$CCon
    .AutoDataType = TRUE
    .FieldKey = ["iddettaglio"]
    .Columns.Count = 10
    .TableName = "dettagli"
    .LoadData("select * from dettagli ORDER BY x")
'     .Formatting.Count = 1
    END WITH



  WITH GridEdit1.Columns[0]
    .Hide = TRUE
    .Type = Grid.Type.Field
    .Field = "iddettaglio"
    .DataType = Grid.DataType.Serial
    .Text = "ID"
    .w = 40
  END WITH

  WITH GridEdit1.Columns[1]
    .Hide = FALSE
    .Type = Grid.Type.Field
    .Field = "x"
    .Text = "riga"
    .w = 40    
  END WITH

  WITH GridEdit1.Columns[2]
    .Hide = FALSE
    .Type = Grid.Type.Field
    .Field = "codice"
    .Text = "Codice"
    .DefaultValue = "cod20"
    .w = 80    
  END WITH
  
  WITH GridEdit1.Columns[3]
    .Hide = FALSE
    .Type = Grid.Type.Field
    .Field = "descrizione"
    .Text = "Descrizione"
    .w = 300    
  END WITH  
  
  WITH GridEdit1.Columns[4]
    .Hide = FALSE
    .Type = Grid.Type.Field
     ' .DataType = ComboBox
    .Field = "colore"
    .Text = "Colore"
    .Box.ListCombo.Add(1, "gigi")
    .Alignment = 3
    .w = 80
  END WITH    

  WITH GridEdit1.Columns[5]
    .Hide = FALSE
    .Type = Grid.Type.Field
    .DataType = Grid.DataType.Boolean
    .Field = "unit"
    .Text = "Check"
    .Box.ValueCheck = 1
    .Box.ValueUncheck = 0
    .DefaultValue = "0"
    .w = 40
  END WITH

  WITH GridEdit1.Columns[6]
    .Hide = FALSE
    .Type = Grid.Type.Field
    .Field = "prezzounit"
    .Text = "Prezzo"
    .DefaultValue = "0"
    .Format = "$,0.00"
    .Alignment = 2
    .w = 80
  END WITH  
  
  WITH GridEdit1.Columns[7]
    .Hide = FALSE
    .Type = Grid.Type.Formula
    .Text = "Prezzo * 2"
    .Formula = "=C[6]+C[6]"
    .Format = "$,0.00"
    .Alignment = 2
    .w = 80
  END WITH    

  WITH GridEdit1.Columns[8]
    .Hide = FALSE
    .Type = Grid.Type.Formula
    .Text = "se 0"
    .Formula = "=SE(C[5]=0;C[7];0)"
    .ReadOnly = TRUE
    .Format = "$,0.00"
    .Alignment = 2
    .w = 80
  END WITH  
      
  WITH GridEdit1.Columns[9]
    .Hide = FALSE
    .Type = Grid.Type.Formula
    .Text = "se -1"
    .Formula = "=SE(C[5]=0;0;C[7])"
    .ReadOnly = TRUE
    .Format = "$,0.00"
    .Alignment = 2
    .w = 80  
    

  END WITH

  WITH ME.GridEdit1.Columns[9].Formatting[0]
    .Comparison = "=C[5] = 0"
    .Formatting.BackColor = &HFF0000&
    .Formatting.ForeColor = &HFFFFFF&
    .Formatting.Text = "CARO"
    .Formatting.Alignement = Align.Center
  END WITH

    WITH GridEdit1
'     .SetHidden([0, 1])
    
    .FieldReordering = "x" ' campo numerico di riordine = float o decimal    
    .UpdateReording = TRUE ' false non riordina e mette es. 10.5 , true riordina il campo FieldReordering
    .AlwaysEditable = TRUE ' sempre editabile
    .KeyActivity = TRUE ' attiva funzione key
    .ReadOnly = FALSE ' solo lettura
    .AutoNew = TRUE '
    END WITH

END[/font][/color]

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #182 il: 01 Giugno 2010, 05:39:37 »
ti manca prima de settaggio del formatting ME.GridEdit1.Columns[9].Formatting.Count = 1

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #183 il: 01 Giugno 2010, 08:45:34 »
Grazie, ora funziona ;)

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #184 il: 01 Giugno 2010, 16:39:40 »
Ciao Milio
Ho visto un aggiornamento oggi.
Novità? :D

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #185 il: 01 Giugno 2010, 18:25:41 »
Aggiustamenti, ritocchi... Ritocchi e ancora aggiustamenti ;)

ho cambiato il metodo GridBox.Reset(): prima mi faceva un 'Refresh' della griglia. Ora mi 'ripulisce' la griglia

ho aggiunto gli eventi ColumnClick(Column AS Integer) e ColumnRow(Column AS Integer) perche' ne avevo necessita' in un form....
Praticamente sono sole le 'copie' degli eventi gestiti da una semplice GridView... Mi serviva soprattutto l'evento ColumnClick per fare un ordinamento dei dati nella griglia...


Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #186 il: 01 Giugno 2010, 23:41:08 »
Ciao milio
Citazione
ho cambiato il metodo GridBox.Reset(): prima mi faceva un 'Refresh' della griglia. Ora mi 'ripulisce' la griglia
Praticamente adesso per fare il Refresh:
Citazione
ME.GridEdit1.Reset()
ME.GridEdit1.LoadData(sql)

Citazione
ColumnClick(Column AS Integer) e ColumnRow(Column AS Integer)
Possono sempre far comodo, devo ricordarmi di inserirli nella guida :D

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #187 il: 01 Giugno 2010, 23:58:35 »

Praticamente adesso per fare il Refresh:
ME.GridEdit1.Reset()
ME.GridEdit1.LoadData(sql)

no basta GridEdit1.Refresh(;)

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #188 il: 02 Giugno 2010, 00:05:09 »
ah ;D

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #189 il: 05 Giugno 2010, 23:46:51 »
Ciao a tutti.
Il progetto di Milio è davvero a un buon punto, e invito tutti gli utenti che lavorano con database a darci un'occhiata.
Troverete uno strumento molto potente, di facile utilizzo nella stesura codice, anche molto concentrato volendo usare il metodo Milio al posto del metodo tradizionale. Vi assicuro che con una quarantina di righe di codice create una griglia con lettura e inserimento dati in vari formati, e con comandi di gestione già pronti. Allego un esempio, con i 2 metodi, il metodo tradizionale (di facile apprendimento) e il metodo Milio (molto sintetico).
Lo troverete anche molto pratico e veloce nell'inserimento dati per quanto riguarda l'utente finale.
Nell'esempio c'è già un database sqlite con qualche record già scritto.
Sono sicuro che dopo aver visionato l'esempio non potrete fare a meno di usarlo ;)

..così magari qualcuno mi aiuterà a fare la guida :P
« Ultima modifica: 05 Giugno 2010, 23:49:44 da Golia »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #190 il: 06 Giugno 2010, 02:20:42 »
Mi stai facendo pubblicita' adesso? :)


l'esempio che hai fatto va benissimo.. il problema e' che devi avere il componente installato, altrimenti non funziona

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #191 il: 06 Giugno 2010, 10:40:11 »
Ho tralasciato il particolare più importante  :D
La guida per l'installazione del componente la trovate quì http://www.gambas-it.org/wiki/index.php/Installazione

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #192 il: 09 Giugno 2010, 23:33:03 »
Ciao Milio, come va?

Ho rifatto qualche form nel mio progetto che uso al lavoro, e per adesso mi sembra vada tutto benissimo ;D
Penso che per aumentare ulteriormente la velocità di inserimento dati, si dovrebbe creare una nuova riga (dall'ultima riga) premendo la freccia giù anche se non sei nell'ultima colonna. Come funziona adesso per creare la nuova riga bisogna per forza passare per l'ultima colonna editabile.
Non che sia indispensabile.. però a mio parere avrebbe una prestazione più veloce  :D

Ciao, tienimi aggiornato per gli aggiornamenti ;D

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #193 il: 10 Giugno 2010, 21:10:35 »
Ciao golia...

Per questa e prossima settimana niente aggiornamenti :)
sono al mare con la famiglia...

Ci sentiamo quando rientro

Ciao

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #194 il: 10 Giugno 2010, 22:32:44 »
Il riposo del guerriero ;)
Buona vacanza, ciao :)