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

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #510 il: 18 Luglio 2011, 22:55:55 »
con tutte queste novità devo rifarmi di nuovo il gestionale
userò gridbox in ogni form  :2birre: :2birre:

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Creazione componente: gb.gridbox
« Risposta #511 il: 19 Luglio 2011, 01:40:19 »
con tutte queste novità devo rifarmi di nuovo il gestionale
userò gridbox in ogni form  :2birre: :2birre:

potentissimo, è un vero piacere usarlo :2birre:

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Creazione componente: gb.gridbox
« Risposta #512 il: 19 Luglio 2011, 17:08:07 »
@milio..hard debug :P :-* :2birre:

1) Le routine contenute in questa sub funzionano anche su campi combo?

Codice: [Seleziona]
GridBox1_SearchFound(Row As Integer, Column As Integer, {Key} As String)

te lo chiedo perche' con questo tipo di settaggio funziona:

Codice: [Seleziona]
 Inc Col
  With GridBox1.Columns[Col]
    .Hide = False
    .Type = Grid.Type.Field
    '.DataType = Grid.DataType.String
    .Field = "ALIMENTO"
    .Text = "ALIMENTO"
    .Name = "alimento"
    .EnabledSearch = True
    .Box.ListSearch = GridBox1.ReturnCollection("SELECT ALIMENTO,ALIMENTO FROM tbAlimenti ORDER BY ALIMENTO;")
    .Required = True
    .w = 300
  End With


con questo no:

Codice: [Seleziona]
 Inc Col_b
   With GridBox2.Columns[Col_b]
    .Hide = False
    .Type = Grid.Type.ComboBox
    .Field = "RICETTA"
    .Text = "RICETTA"
    .DataType = Grid.DataType.String
    .EnabledSearch = True
    .Box.ListCombo = GridBox1.ReturnCollection("SELECT COMBINAZIONE,COMBINAZIONE FROM tbRicette ORDER BY COMBINAZIONE;")
    .Name = "ricetta"
    .Required = True
    .w = 270
  End With

Me ne sono accorto per caso, stavo chiudendo il programma e volevo realizzare un video di preview :rolleyes: :hard:

2) Ancora, mi sono accorto di questa cosa: se creo una grid con dei combobox e se do' ad un certo punto il comando:

Codice: [Seleziona]
Me.GridBox3.MoveTo(Me.GridBox3.Rows.Max, 0)

per posizionare il cursore sull'ultima riga, i combo non sono visualizzati, allego foto

3) E' possibile settare a livello di setup generale di una gridbox, l'altezza delle standard delle rows, potrebbe essere interessante. Ho cercato tra i metodi ma non ho trovato. E ancora, potrebbe essere interessante, a fronte di una certa altezza standard, dare un valore specifico ad una row.


4) Con i campi combo la formattazione condizionale funziona? Mi sembra nelle prove che ho fatto che il codice seguente non produca effetti se il campo è combo. La formattazione dovrebbe operare nella fase di visualizzazione ante clic del mouse sulla cella

Codice: [Seleziona]
.Formatting.Count = 3
.Formatting[0].Comparison = "=C(urgenza)='ALTA'"
.Formatting[0].Formatting.Background = Color.red
.Formatting[0].Formatting.Foreground = Color.White


Detto questo non diro' + nulla!!!! :-\ :P


ps. non escludo miei errori nel codice ..
« Ultima modifica: 20 Luglio 2011, 05:58:06 da andy60 »

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #513 il: 19 Luglio 2011, 21:04:16 »
con tutte queste novità devo rifarmi di nuovo il gestionale
userò gridbox in ogni form  :2birre: :2birre:

potentissimo, è un vero piacere usarlo :2birre:
:ok: :ok: :ok:
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #514 il: 20 Luglio 2011, 15:37:44 »
Innanzi tutto grazie a tutti per i complimenti  :-[

E soprattutto grazie perche' con i vostri test stiamo costruendo un qualcosa di veramente utile...

@Andy

1) l'abilitare l'EnableSearch con rispettivi eventi funziona solo con colonne di tipo Field. per il Combo devi far riferimento all'evento Save che viene richiamato ogni qual volta un oggetto della GridBox applica dei cambiamenti alle celle. Se vuoi possiamo implementare un evento anche per la Combo, ovviamente :)

2) Con la nuova release dovrebbe essere a posto

3) Si con GridBox.Rows.H

4) Strano a me funziona... Forse tu fai confusione con il testo della combo ed il valore della cella. Il formatting fa riferimento solo al valore della cella. (Guarda il form FTestCombo ;) )
« Ultima modifica: 20 Luglio 2011, 16:27:59 da milio »

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Creazione componente: gb.gridbox
« Risposta #515 il: 20 Luglio 2011, 22:57:05 »
@milio

1) forse dovresti implementarlo, se si seleziona un combo si dovrebbe avere la possibilità di applicare le stesse istruzioni..
....
4) formattazione condizionale con combo, a posto!!

 :2birre: :2birre: :2birre:


ps. utile gridbox è dire poco..forse esagero ma dico che g3 con componenti di questo livello puo' creare qualunque app, anche un foglio di calcolo o un access
« Ultima modifica: 20 Luglio 2011, 23:47:10 da andy60 »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #516 il: 21 Luglio 2011, 11:26:09 »
Nuova release:

inserito evento GridBox_ComboClick()

Corretto Bug sull'allineamento del testo delle colonne
« Ultima modifica: 21 Luglio 2011, 15:01:13 da milio »

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Creazione componente: gb.gridbox
« Risposta #517 il: 21 Luglio 2011, 16:34:01 »
Nuova release:

inserito evento GridBox_ComboClick()

Corretto Bug sull'allineamento del testo delle colonne


utilizzato mi sembra bene

Codice: [Seleziona]
Public Sub GridBox2_ComboClick()
  Dim Rec As Result
  Dim myricetta As String
  If GridBox2.CurrentCell.Column = 1 Then
   myricetta = GridBox2.CurrentCell.Value
  Endif
  Rec = $CCon.Exec("SELECT * FROM tbRicette WHERE COMBINAZIONE =&1;", myricetta)
  GridBox2[Me.GridBox2.Row, "proteine"].Value = Rec["P"]
  GridBox2[Me.GridBox2.Row, "grassi"].Value = Rec["G"]
  GridBox2[Me.GridBox2.Row, "carboidrati"].Value = Rec["C"]
  GridBox2[Me.GridBox2.Row, "calorie"].Value = Rec["CALORIE"]
End

Segnalazione etichette header: quando clicchi la colonna l'etichetta trasla vs destra e se la colonna è stretta a volte non si legge, xche' trasla perdendo la centratura?

Visualizzazione dati dopo aver cliccato 'nuovo record' e aver selezionato un valore dal combo, la riga si evidenzia di verde: a volte non si vedono i dati forniti dall'evento comboclick. Cosa che non succede sostituendo al combo un campo normale field e search abilitato.
« Ultima modifica: 21 Luglio 2011, 19:47:25 da andy60 »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #518 il: 21 Luglio 2011, 20:36:48 »
@Andy...

Ti posso chiedere un favore?

Mi fai tu un form con GridBox settato con tutti i problemi che hai descritto? Stasera ho poco tempo...
Altrimenti devi aspettare domani...

ciau

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Creazione componente: gb.gridbox
« Risposta #519 il: 21 Luglio 2011, 22:49:46 »
@Andy...

Ti posso chiedere un favore?

Mi fai tu un form con GridBox settato con tutti i problemi che hai descritto? Stasera ho poco tempo...
Altrimenti devi aspettare domani...

ciau

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #520 il: 22 Luglio 2011, 00:04:00 »
Ciao andy
il tuo lavoro si potrebbe mettere tra gli esempi di gridbox, come esempio per ComboClick.
Sempre che ti faccia piacere e se Milio è daccordo  ;)
 :2birre: :2birre: :2birre:

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Creazione componente: gb.gridbox
« Risposta #521 il: 22 Luglio 2011, 08:07:42 »
certo che mi fa piacere vedere il test tra gli esempi!!

 :2birre: :2birre:

e .... ancora ho una considerazione sui campi calcolati....so che alla fine del debugging o divento un grande amico di milio o mi odierà ma accetto il rischio!!

se si crea un campo di questo tipo:
Codice: [Seleziona]
 Inc Col
  With GridBox1.Columns[Col]
    .Hide = False
    .Type = Grid.Type.Field
    .Alignment = Align.Center
    .DataType = Grid.DataType.Boolean
    .Field = "Chiuso"
    .Text = "CHIUSO"
    .name = "chiuso"
    .Box.ValueCheck = 1
    .Box.ValueUncheck = 0
    .DefaultValue = 0
    .w = 65
    .Alignment = 3
   End With  

e ancora un campo di questo tipo:
Codice: [Seleziona]
 Inc Col
  With GridBox1.Columns[Col]
    .Hide = False
    .Type = Grid.Type.Field
    .Type = Grid.Type.Formula
    .DataType = Grid.DataType.Date
    .Field = "Gmaclose"
    .Text = "GMA2"
    .Name = "gma2"
    .Formula = "=IIf(C[chiuso]=0,null,Now())"
    .AlignmentHeader = 3
    .w = 100
    .Alignment = 3
  End With

noto le cose seguenti:
- il calcolo è effettuato bene nel senso che con il checkbox attivo, il campo calcolato prende la data odierna
- pero' forse serve anche altro: l'utente in questo caso ha il 'suggerimento della data odierna', ma dovrebbe anche poter variare la data e soprattutto ritrovare la data voluta quando riapre la grid, invece compare il segno della formula #ERR

quindi chiedo se possibile le segg.modifiche: campo formula ok, ma possibilità di variazione manuale e soprattutto salvataggio

se poi mi sono sbagliato e il salvataggio mancato è colpa mia, chiaritemi... :hard: :hard:


« Ultima modifica: 22 Luglio 2011, 08:16:22 da andy60 »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #522 il: 22 Luglio 2011, 18:04:24 »
@Andy

Scusa il ritardo, ma e' stata una giornata incasinata...

Segnalazione etichette header:

Ho fatto delle prove e mi sono accorto che e' un problema di Font...
Prova anche tu a cambiare il font alla GridBox e dimmi se l'allineamento ti risulta corretto.

Visualizzazione dati dopo aver cliccato 'nuovo record' e aver selezionato un valore dal combo

Con nuova release dovrebbe, tocchiamoci gli zebedei :), essere tutto a posto (che fatica pero')


noto le cose seguenti:
- il calcolo è effettuato bene nel senso che con il checkbox attivo, il campo calcolato prende la data odierna
- pero' forse serve anche altro: l'utente in questo caso ha il 'suggerimento della data odierna', ma dovrebbe anche poter variare la data e soprattutto ritrovare la data voluta quando riapre la grid, invece compare il segno della formula #ERR

quindi chiedo se possibile le segg.modifiche: campo formula ok, ma possibilità di variazione manuale e soprattutto salvataggio

se poi mi sono sbagliato e il salvataggio mancato è colpa mia, chiaritemi... :hard: :hard:

In questo caso penso che sia sbagliato l'utilizzo di un campo Formula.
Io farei in questo modo:

Codice: [Seleziona]
Public Sub Gridbox1_Save(Row As Integer, Column As Integer)

  If Me.GridBox1.Columns[Column].Name = <TuaColonnaCheck> And Me.GridBox1[Row,Column].Value = <TuoValoreCheck> Then
    Me.GridBox[Row,<TuaColonnaData>].Value = Now()
  EndIf

End

In questo caso la <TuaColonnaData> e' di tipo Field e ci potrai scrivere il valore che vuoi
Ciao andy
il tuo lavoro si potrebbe mettere tra gli esempi di gridbox, come esempio per ComboClick.
Sempre che ti faccia piacere e se Milio è daccordo  ;)
 :2birre: :2birre: :2birre:

Certo che sono d'accordo... anche perche' il grosso del lavoro lo fate voi :)
« Ultima modifica: 23 Luglio 2011, 00:31:42 da milio »

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Creazione componente: gb.gridbox
« Risposta #523 il: 23 Luglio 2011, 09:53:42 »
@milio

oggi è il mio compleanno, ho promesso di non toccare troppo il pc x cui sto uscendo, non prima di averti ringraziato x l'ennesima release


agevolami x cortesia con una risposta veloce, posso escludere la visualizzazione in griglia della colonna con i numeri di riga, o quantomeno definire la sua larghezza=0?

per le altre cose vi scrivo stasera...per il test da inserire come esempio in gridbox, il codice ve l'ho postato, chi modifica gridbox?


una considerazione sul checkbox, se non posso creare una formula efficente (se clicco mi deve dare la data di oggi, ma deve essere modificabile e salvabile..), mi conviene toglierlo proprio dalla base dei dati...in definitiva se il campo con la seconda data è riempito significa che la data esiste e il taska cui si riferisce il record  è chiuso...
« Ultima modifica: 23 Luglio 2011, 10:03:16 da andy60 »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #524 il: 23 Luglio 2011, 09:55:45 »
Si basta fare cosi':

Me.GridBox.Header = Grid.Header.Horizzontal

Ciao e... Auguri!  :party: