Newsgroup: it.comp.lang.delphi
Titolo: DBGRID con colonna di celle in cui solo alcune celle siano  modificabili

Salve,
  qualcuno saprebbe darmi delle indicazioni per fare questo:
- ho una JVDBGRID collegata ad un ClientDataSet,  i cui campi sono
Articolo, Valore Base, "Valore che posso modificare", "E'
modificabile";
Articolo e Valore Base sono in sola lettura ( banale usando la
proprietà READ-ONLY del campo )
"Valore che posso modificare" : in questa colonna dovrebbe essere
possibile fare modifiche solo quando il campo
"E' modificabile" è TRUE.
Cioè solo alcune celle di questa colonna devono essere modificabili.
Come posso fare ?
Normalmente uso Delphi 2006 o 2009 Pro, con la JVDBGRID ( JVCL ).
Qualcuno mi ha detto che con Devexpress Quantum Grid 6 sarebbe più
facile ?
Ma non ho questo prodotto al momento.
Ringraziamenti anticipati
Zeno

la quantum è molto potente e permette di fare cio che ti serve + tante
cose in +....
Devi decidere tu se vale la pena spendere soldi per comprarla.
Va detto che con quella griglia in poche righe e senza troppi casini
metti in piedi qualcosa di notevole.
I difetti dei developer express?
1) documentazione "lassativa"
nel file di help molte cose semplicemente non ci sono.
In piu, hanno n files di help e quindi a volte prima di trovare
qualcosa devi aprirne anche 2 o 3... Ad esempio, la griglia ha il uo
file di help, ma usa il datacontrolloer che ha il suo file di help e
per l'editing sulla griglia si usano gli express editors che hanno il
loro file di help.
Va detto che i loro forum sono pieni di informazioni utili, frutto di
domande di utenti del prodotto, ma spesso trovi le cose in post
inaspettati (si, post, non POSTI...), Inoltre, se posti delle domande
in genere quelli del team rispondono in tempi accettabili, tenendo
ovviamente anche conto dei fusi orari.
2) finche prendi, trascini sul form, attachi un dataset etc, insomma
finche le usi in modo standard a design time va tutto abbastanza
bene...
Ma come inizi che devi ereditare per creare cose tue che fanno cose un
po particolari il calendario liturgico potrebbe non contenere
abbastanza santi per le bestemmie che ti viene di urlare...
3) tra editors e toolbar, ci sono interazioni strane..
Ad esempio, se sei un un loro tcxtextedit e clicchi su una delle loro
tooobar l'evento onexit dell'editor, se presente, non viene alzato...
A.

 "E' modificabile" è TRUE.
Perché non usi gli eventi?
Ora non ho tempo di provare, ma puoi usare gli eventi associati
all'edit della jvdbgrid. Qualcosa del tipo procedure onEditChange,
OnEditButtonClick?
Li' puoi controllare il valore della colonna "e' modificabile" e
quindi eventualmente annullare l'editing della cella.
Secondo me non ci perdi più di una 30-ina di minuti a fare qualche
prova e trovare la sol.
Ciao,
Gp

 tooobar l'evento onexit dell'editor, se presente, non viene alzato...
Questo e' fastidioso ma e' coerente con il normale comportamento dei
componenti base di delphi (es. TEdit/TDBedit e TToolbar/TToolButton)
ciao
Giacomo

 componenti base di delphi (es. TEdit/TDBedit e TToolbar/TToolButton)
???
A.


IIRC, cliccare su un TToolbutton non sposta il focus quindi non fa
scattare
l'evento onexit del TEdit.
ciao
Giacomo