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

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Creazione componente: gb.gridbox
« Risposta #465 il: 26 Giugno 2011, 21:00:13 »
COMBOBOX E COMANDO 'NUOVO RECORD'

Togli il primo Me.GridBox1.NewRecord() e il Me.GridBox1.Refresh()


Nuova release (sperimentale) che implementa un nuovo componente il MaskBox.
Non è il MaskBox di gambas3 ma un mio componente che avevo creato prima della sua uscita.

Per info su InputMaskBox rilascio anche sorgenti del componente

Se tolgo il primo Me.GridBox1.NewRecord() e il Me.GridBox1.Refresh() mi mangia una riga quando, dopo aver aggiunto un record, lo salvo.
« Ultima modifica: 27 Giugno 2011, 10:47:16 da andy60 »

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Creazione componente: gb.gridbox
« Risposta #466 il: 01 Luglio 2011, 10:21:05 »
@ milio missing-in-action!!!

riguardo l'ultima cosa che ho evidenziato, la tua soluzione non funziona, hai qualche suggerimento?


NUOVO MOCKUP con possibili aggiunte al progetto gridbox

Allego mockup con due colonne particolari:
-nelle celle è possibile inserire uno o piu' bottoni collegati ad eventi
-nelle celle è possibile inserire un certo grafico
« Ultima modifica: 01 Luglio 2011, 10:32:13 da andy60 »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #467 il: 01 Luglio 2011, 20:47:38 »
Capisco i Button ma il Grafico a che ti serve su ogni singolo record? Non vedo come possa tornar utile... il fondo ogni riga della gridbox e' legata ad un record... a meno che tu non abbia piu' campi con lo stesso tipo di dato che vanno a formare un grafico, ma alla fine che scopo avrebbe una tabella strutturata in quel modo?

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #468 il: 01 Luglio 2011, 21:22:54 »
Allora ho guardato perche' nell'evento Save, creando un nuovo record, non mi andava ad aggiornare il valore di default con l'ultimo valore impostato nel tipo colonna combo (e comunque di qualsiasi altro tipo di colonna).

Con questa release dovrebbe essere tutto a posto ;)


« Ultima modifica: 14 Luglio 2011, 08:09:53 da milio »

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Creazione componente: gb.gridbox
« Risposta #469 il: 01 Luglio 2011, 23:22:16 »
Capisco i Button ma il Grafico a che ti serve su ogni singolo record? Non vedo come possa tornar utile... il fondo ogni riga della gridbox e' legata ad un record... a meno che tu non abbia piu' campi con lo stesso tipo di dato che vanno a formare un grafico, ma alla fine che scopo avrebbe una tabella strutturata in quel modo?

Grafico: ho visto una griglia di questo tipo in un programma di trading di borsa, ogni titolo quatava su una riga, il grafico era la quotazione intraday, aggiornata in tempo reale.

L'utilizzo ci potrebbe essere un record riguardante un certo Nominativo...un grafico legato ad aspetti di quel nominativo.
Era solo per avere la tua opinione e per contribuire con qualche idea!!!

Bottone: anche il bottone sarebbe interessantissimo. Pensa solo all'ipotesi di richiamare form secondarie complesse che poi riportano valori a certe celle della griglia.

Prima o poi cerco di capire il codice del componente, ma ho limitazioni!! Dammi atto che sono un gran rompiscatole  :-*
« Ultima modifica: 01 Luglio 2011, 23:27:43 da andy60 »

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Creazione componente: gb.gridbox
« Risposta #470 il: 01 Luglio 2011, 23:35:11 »
Allora ho guardato perche' nell'evento Save, creando un nuovo record, non mi andava ad aggiornare il valore di default con l'ultimo valore impostato nel tipo colonna combo (e comunque di qualsiasi altro tipo di colonna).

Con questa release dovrebbe essere tutto a posto ;)

no, mi funziona solo con questo:
Codice: [Seleziona]
Public Sub gbnew_Click()
  Me.GridBox1.NewRecord()
  GridBox1.Columns[0].DefaultValue = comboricetta.text
  Me.GridBox1.DeleteRecord(Me.GridBox1.Row)
  Me.GridBox1.Refresh()
  Me.GridBox1.NewRecord()
End

ad ogni modo funge

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #471 il: 01 Luglio 2011, 23:41:45 »
mmmm.....

Se provi a fare in questo modo non funziona?

Codice: [Seleziona]
Public Sub gbnew_Click()
  GridBox1.Columns[0].DefaultValue = comboricetta.text
  Me.GridBox1.NewRecord()
End

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Creazione componente: gb.gridbox
« Risposta #472 il: 02 Luglio 2011, 01:28:05 »
mmmm.....

Se provi a fare in questo modo non funziona?

Codice: [Seleziona]
Public Sub gbnew_Click()
  GridBox1.Columns[0].DefaultValue = comboricetta.text
  Me.GridBox1.NewRecord()
End

sara' xche' è tardi..so rinco... ora va, grazie :2birre:

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #473 il: 03 Luglio 2011, 19:59:15 »
@Andy60


Grafico: ho visto una griglia di questo tipo in un programma di trading di borsa, ogni titolo quatava su una riga, il grafico era la quotazione intraday, aggiornata in tempo reale.

L'utilizzo ci potrebbe essere un record riguardante un certo Nominativo...un grafico legato ad aspetti di quel nominativo.
Era solo per avere la tua opinione e per contribuire con qualche idea!!!


Si e' vero, sono stato un po' acido... chiedo scusa...
Bisognerebbe pero' che a questo grafico vengano passati dei dati non con il LoadData() classico, ma con un'altra funzione a lui dedicato.

Un'idea potrebbe essere il creare una colonna query che accetti, come la colonna formula, una stringa con riferimento alle colonne.
Esempio:

GridBox.Columns["Grafico"].Query = "SELECT Peso FROM Allenamenti WHERE idPers = C[idPers];"

In questo modo possiamo sfruttare l'id preso da ogni singola riga e recuperarne i dati per la creazione dei grafici...

Per il Button pensavo ad una semplice picture legata alla cella. Al click si va a creare l'effetto di schiacciare di un bottone con l'inserimento di un'altra picture.
Questo mi evita di legare un button per ogni singola cella con suo relativo spostamento con lo scroll della griglia.



Che ne dici?
« Ultima modifica: 03 Luglio 2011, 20:06:13 da milio »

Offline andy60

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

Le tue idee applicative sui miei suggerimenti
Per la cella contenente i grafici il lavoro deve essere fatto secondo me a due livelli, a livello di routine per la creazione di un semplice linechart (dove definire colore di riempimento, colore della linea e array dati) e a livello di gridbox (definire la colonna che è legata all'id relativo ai dati del grafico).

Es. colonna 'Contatto' con campo id e colonna 'Vendite' dove si trovano il campo importo (da plottare) e il campo idcontatto (legato all'altro id)

Per la cella contenente il bottone, sono d'accordo nel creare graficamente un bottone a doppio stato. L'evento del click sul bottone deve dare possibilità di relazionarsi ad una routine (es. apertura ddi una form modale). Se la form modale restituissce un valore , l'utente ddovrebbe avere poi la possibilità di inserire il valore restituito in una certa colonna della riga corrente.

Il lavoro su gridbox
Ti dico come la penso. Grazie al tuo prezioso lavoro, non penso di esagerare, g3 puo' veramente assurgere ad un ruolo importante. Non sono precluse applicazioni realmente professionali. Che fanno solo del bene al ns amato software. Dal mio canto, spero di poterti aiutare sia nella fase test che nello sviluppo e nelle idee, mi piacerebbe molto capire la logica dei componenti.

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #475 il: 04 Luglio 2011, 23:00:46 »
Il lavoro su gridbox
Ti dico come la penso. Grazie al tuo prezioso lavoro, non penso di esagerare, g3 puo' veramente assurgere ad un ruolo importante. Non sono precluse applicazioni realmente professionali. Che fanno solo del bene al ns amato software. Dal mio canto, spero di poterti aiutare sia nella fase test che nello sviluppo e nelle idee, mi piacerebbe molto capire la logica dei componenti.
:ok:   :ok:   :ok:
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline andy60

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

grazie x l'approvazione!

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #477 il: 04 Luglio 2011, 23:41:18 »
Nuova release: introduzione del campo button.

Il click genera un evento GridBox_ButtonClick che ritorna il numero di riga, colonna e il nome di quest'ultima.

@Andy60
Il lavoro su gridbox
Ti dico come la penso. Grazie al tuo prezioso lavoro, non penso di esagerare, g3 puo' veramente assurgere ad un ruolo importante. Non sono precluse applicazioni realmente professionali. Che fanno solo del bene al ns amato software. Dal mio canto, spero di poterti aiutare sia nella fase test che nello sviluppo e nelle idee, mi piacerebbe molto capire la logica dei componenti.
Troppo buono...  :-[

Ps.
La grafica del Button fa un po' cacare, ma... che dire... datemi tempo  :D
« Ultima modifica: 14 Luglio 2011, 08:10:20 da milio »

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Creazione componente: gb.gridbox
« Risposta #478 il: 04 Luglio 2011, 23:47:28 »
Ho scaricato e sto testando.
 
- Il bottone puo' avere un testo? Devo creare il testo al momento del disegno?
- Come si collega una routine al click del bottone?
« Ultima modifica: 04 Luglio 2011, 23:59:00 da andy60 »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.271
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #479 il: 04 Luglio 2011, 23:58:29 »
E' che pensavo di renderlo piu' anonimo possibile, anche perche' se ci metti un testo, quest'ultimo si ripete su tutti i button della colonna...