Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

DBGrid (ClientDataSet): izostavljanje nula

[es] :: Pascal / Delphi / Kylix :: DBGrid (ClientDataSet): izostavljanje nula

[ Pregleda: 3232 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sdejan
Velika Plana

Član broj: 65737
Poruke: 12
195.178.56.*



Profil

icon DBGrid (ClientDataSet): izostavljanje nula21.11.2006. u 19:03 - pre 212 meseci
dakle, ćelije u u DBGridu u kojima bi se inače prikazala nula treba da budu prazne...

pokušao sam da napravim generičko rešenje u OnDrawColumnCell, i to tako da se
font u ćelijama koje sadrže nulu izjednači sa pozadinom; problem je u tome što se
nula ipak iscrtava kada preko polja pređe selekcija, te sam odustao od tog rešenja
usled nedostatka vremena...


pritisnut sam zahtevima, svaka pomoć / savet / lepa reč je dobrodošla :)

 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: DBGrid (ClientDataSet): izostavljanje nula21.11.2006. u 20:04 - pre 212 meseci
Citat:
sdejan:
...pokušao sam da napravim generičko rešenje u OnDrawColumnCell, i to tako da se
font u ćelijama koje sadrže nulu izjednači sa pozadinom;...

Mislim da možeš i tako, samo nemoj da mijenjaš font, nego postavi da je

Text := '';

kad je izjednačeno sa nulom (ili nekako slično, možda sam lupio, ne mogu sad da probam).
Ako to ne može, pogledaj malo u Delphi helpu za DisplayFormat ili
za TField.OnGetText. Mislim da ima i primjera.
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
62.108.111.*



+2 Profil

icon Re: DBGrid (ClientDataSet): izostavljanje nula21.11.2006. u 22:06 - pre 212 meseci
ideja:
posto koristis DBGrid, DataSetu njegovog DataSourcea dodaj calculated field tipa string koji ce se racunati:

Code:

procedure TForm1.ADOTable1CalcFields(DataSet: TDataSet);
begin
  if ADOTable1Field1.Value=0 then
    ADOTable1NoviField.Value:=''
  else
    ADOTable1NoviField.Value:=FloatToStr(ADOTable1Field1.Value)      // ili FormatFloat pa lepo napravis Mask
end;


onda iz DBGrid-a izbacis Field1 i ubacis NoviField.

Pozdrav
 
Odgovor na temu

dogriz
Sombor

Član broj: 29744
Poruke: 259
*.so-sombor.com.

Sajt: dogriz.blogspot.com


+6 Profil

icon Re: DBGrid (ClientDataSet): izostavljanje nula22.11.2006. u 07:10 - pre 212 meseci
Ako koristiš ClientDataSet, može i ovako:
Code:

procedure TForm1.ClientDataSet1AAAGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  if Sender.AsInteger=0 then
    Text:=''
end;


Trebalo bi da radi i za ADO (ali neću da tvrdim jer koristim DBExpress)
 
Odgovor na temu

sdejan
Velika Plana

Član broj: 65737
Poruke: 12
195.178.56.*



Profil

icon Re: DBGrid (ClientDataSet): izostavljanje nula22.11.2006. u 07:58 - pre 212 meseci

i ja koristim DBExpress, zaboravio sam to da pomenem :)

rešenja mi se dopadaju, hvala na pomoći svima !
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: DBGrid (ClientDataSet): izostavljanje nula

[ Pregleda: 3232 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.