Newsgroup: it.comp.lang.delphi
Titolo: Visualizzare sempre la frecciana su una TDBGrid

Ciao a tutti,
io ho una TDBGrid con alcune colonne che utilizzano la PickList per 
visualizzare una serie di scelte...
In questo momento quando eseguo il programma la colonna non mostra la 
freccina (in stile combo) ma ci devo prima cliccare sopra... è possibili 
farla visualizzare sempre, così di possono distinguere i campi che hanno 
la scelta da quelli normali?
Grazie
Tomas

la scelta da quelli normali?
Mi sa che devi usare un altro componente, la TDBGrid di delphi fa 
abbastanza schifo!!!!
------------------------
Diego Di Filippo
  R&amp;D Software Developer
 
www.ada-project.com
-----------------------
--- posted by geoForum on 
http://www.delphiedintorni.it

 abbastanza schifo!!!!
Il controllo *TDBGrid* è quanto di più "customizzabile" ci sia al mondo, 
altro che schifo. :-)
Questa "colonna" di articoli è colma di risorse:
http://delphi.about.com/od/usedbvcl/a/tdbgrid.htm
Ciao! :-)
-- 
Marco «Alka» Breveglieri
  (marco [@] abls [.] it)
  ABLS Team S.n.c. - Software & Web
  42019 Scandiano (Reggio Emilia)
 
http://www.abls.it

altro che schifo. :-)
si!!! era un mio parere!!!! :D


 
http://delphi.about.com/od/usedbvcl/a/tdbgrid.htm
Ciao, ho guardato sul sito che mi hai segnalato, ma non ho trovato la 
soluzione al mio problema, ho trovato il modo di far apparire la freccia 
dopo un solo Click invece che con il doppio... ma non di trovarmi già il 
pulsantino con la freccia della combo...
...dove potrei guardare ancora?
Grazie
Tomas

perň sicuramente c'č di meglio,
controlli griglia che non ti fanno perdere un mare di tempo per fare cose 
come ha chiesto Tomas.
es? Uno a caso?
cxGrid di Developer Express!!!
un altro es?
griglia di Infopower!!!!
vabbe poi so gusti!
:)


Non ho dubbi che ci siano componenti migliori... io uso D5 che di buchi 
ne ha tanti... il prob è che quel componente è pesantemente utilizzato 
nella mia applicazione e sostituirlo sarebbe un lavoro troppo grosso :)
ciao

 griglia di Infopower!!!!
Uno a caso..? Ma lo sai quanto costano questi componenti ?? E te pensi che
uno se li possa permettere per il semplice scrupolo che *manca la freccina*
?? Pensi che scaricandoli con emule o DC++ ti metti a posto con la legge?
Volete la freccina?? Ereditate la griglia e sviluppate la freccina... mai
sentito parlare di programmazione ad oggetti??
Oppure, impegna troppo la cosa, allora si vuole una soluzione tampone?
Eccola, cosi' si evita la fatica di cercarsela su google groups:
1) Fare l'override del metodo DrawColumnCell della dbgrid
2) Tenere traccia con variabili della colonna del dataset collegato alla
griglia che rappresenta l'ordinamento e il senso dello stesso
3) mettere due timage sul form con i due triangolini [*]
4) ecco il codice da scrivere, si puo' aggiustare la posizione del
triangolino regolando x e y. ordinatoFieldIndex il campo per il quale e'
ordinato il dataset, orderASC se True rappresenta ordinato ascendente
(triangolino su), se false, e' deducibile.
procedure TfrmVisualizzaDati.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State:
TGridDrawState);
var img : TImage;
y,x : integer;
begin
   inherited;
   if Rect.Top<=(2*(Rect.Bottom-Rect.Top)) then begin
      if DataCol=ordinatoFieldIndex then begin
         if orderASC then img := imgUP
         else img := imgDOWN;
         x :=Rect.Right-10;
         y := trunc((Rect.Bottom-Rect.Top)/2)-2;
         DBGrid1.Canvas.Draw(x,y,img.Picture.Graphic);
      end;
   end;
   DBGrid1.DefaultDrawDataCell(Rect,Column.Field,State);
end;
[*]
Ecco il codice dei due triangolini, da copiare nel dfm del form:
  object imgUP: TImage
    Left = 68
    Top = 4
    Width = 25
    Height = 25
    Picture.Data = {
      07544269746D6170DE000000424DDE0000000000000036000000280000000800
      0000070000000100180000000000A8000000130B0000130B0000000000000000
      0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
      C8D0D4C8D0D4C8D0D4C8D0D4FFFFFFFFFFFFC8D0D4808080C8D0D4C8D0D4C8D0
      D4C8D0D4FFFFFFC8D0D4C8D0D4808080808080C8D0D4C8D0D4FFFFFFFFFFFFC8
      D0D4C8D0D4C8D0D4808080C8D0D4C8D0D4FFFFFFC8D0D4C8D0D4C8D0D4C8D0D4
      808080808080FFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080FFFF
      FFC8D0D4C8D0D4C8D0D4}
    Visible = False
  end
  object imgDOWN: TImage
    Left = 96
    Top = 4
    Width = 25
    Height = 25
    Picture.Data = {
      07544269746D6170DE000000424DDE0000000000000036000000280000000800
      0000070000000100180000000000A8000000130B0000130B0000000000000000
      0000C8D0D4C8D0D4C8D0D4808080FFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
      808080808080FFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4808080C8D0D4C8D0
      D4FFFFFFC8D0D4C8D0D4C8D0D4808080808080C8D0D4C8D0D4FFFFFFFFFFFFC8
      D0D4C8D0D4808080C8D0D4C8D0D4C8D0D4C8D0D4FFFFFFC8D0D4808080808080
      C8D0D4C8D0D4C8D0D4C8D0D4FFFFFFFFFFFF8080808080808080808080808080
      80808080808080808080}
    Visible = False
  end
E la prossima volta per favore evitate commenti pubblici di qeusto tenore
sulla dbgrid, che e' quanto di piu' flessibile abbia mai visto in 15 anni
di sviluppi. (parlo di *sviluppo* non di programmazione con le cose gia'
bell'e pronte).
Ah, dimenticavo, non ho messo neanche uno smiley. :-|
ciao!
-- 
Morde. 
M-List di icld: 
http://it.groups.yahoo.com/group/icld/

Morde. 
	Ciao
	MassimoB
 
---------------------------
http://www.massimobeschi.it/

 singoli field di ogni record ... :P
Rileggendo attentamente il thread, ho assunto progressivamente
l'espressione tipica di quello che ha fatto la classica figura di cacca!
Mi auto-LOLLO e mi frusto pubblicamente sul ng... (cmq il codice fornito
funziona ;-))
AUTO-ROTFL!!!!


l'espressione tipica di quello che ha fatto la classica figura di cacca!
Assolutamente no! ... il senso del post era giusto e
condivisibile  ... anche la possibile soluzione era
plausibile (anche se un pò venale), l'unica cosa è il
codice postato ... :P


>Questi commenti pressapochisti lasciano il tempo che trovano!
Morde non ti arrabbiare!
hai ragione a dire che esiste la programmazione ad oggetti, ma io ho solo 
cercato di dire a Tomas che probabilmente esistono componenti che gli 
possono rendere al vita più facile.
Tutto qua.


 possono rendere al vita più facile.
Certamente, non e' questione di prendersela, e me aveva irritato la
semplicita' con la quale si scarta la validita' di certi componenti come la
dbgrid. Quelli che hai citato tu sono cose super evolute ed estese, ma
hanno anche un costo che non tutti possono permettersi! :-)
Ciao!
