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

Zezancije sa DBGrid-om!

[es] :: Pascal / Delphi / Kylix :: Zezancije sa DBGrid-om!

[ Pregleda: 3488 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MatezYU

Član broj: 4114
Poruke: 1586
*.adanet.co.yu.



+17 Profil

icon Zezancije sa DBGrid-om!24.11.2006. u 06:06 - pre 211 meseci
Kako mogu da citam podatke iz DBGrid-a?
Recimo da ako imam u prvoj koloni vrednost "D" onda da mi taj red bude obojen u crveno a ako je "N" onda da mi je obojen u zeleno?
Isto tako zeleo bih taj red koji je selektovan, da pritiskom na jedno dugme mogu iscitati njegove vrednosti..
Kako mogu saznati koji je redni broj tog reda kojeg sam selektovao?
Hvala
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
62.108.111.*



+2 Profil

icon Re: Zezancije sa DBGrid-om!24.11.2006. u 06:36 - pre 211 meseci
poceo sam da ti odgovaram na pitanje, pa sam neleteo na

http://www.elitesecurity.org/t181123-0#1176400

i na

http://www.elitesecurity.org/t181122-0#1176399

stvarno neozbiljno.
 
Odgovor na temu

MatezYU

Član broj: 4114
Poruke: 1586
*.adanet.co.yu.



+17 Profil

icon Re: Zezancije sa DBGrid-om!24.11.2006. u 06:43 - pre 211 meseci
if absquery1.FieldValues['OTPUSTEN'] = 'D'
then dbgrid1.canvas.brush.Color := clSilver
else dbgrid1.canvas.brush.Color := clWhite;

dbgrid1.Canvas.Font.Color:=clblack;
dbgrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);

Dobro, ovako sam resio.. Ali problem je sto kada selektujem misem jedan red ne oznaci mi se plavom bojom taj red kao da je oznacen? Zasto?
 
Odgovor na temu

dogriz
Sombor

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

Sajt: dogriz.blogspot.com


+6 Profil

icon Re: Zezancije sa DBGrid-om!24.11.2006. u 07:23 - pre 211 meseci
Citat:
Dobro, ovako sam resio.. Ali problem je sto kada selektujem misem jedan red ne oznaci mi se plavom bojom taj red kao da je oznacen? Zasto?


?????
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
62.108.111.*



+2 Profil

icon Re: Zezancije sa DBGrid-om!24.11.2006. u 08:04 - pre 211 meseci
Code:

if not (gdSelected in State) then
begin
  if absquery1.FieldValues['OTPUSTEN'] = 'D' then 
    dbgrid1.canvas.brush.Color := clSilver
  else 
    dbgrid1.canvas.brush.Color := clWhite;
  dbgrid1.Canvas.Font.Color:=clblack
end;
dbgrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);


za citanje vrednosti je objasnjeno na drugom linku iz prethodnog posta: citaj iz dataseta - uvek su dbgrid i dataset sa kojim je povezan pozicionirani na istom recordu
i o rednom broju je bilo reci. Dobijas ga sa:
DataSet.RecNo

[Ovu poruku je menjao badam dana 24.11.2006. u 09:36 GMT+1]
 
Odgovor na temu

MatezYU

Član broj: 4114
Poruke: 1586
*.adanet.co.yu.



+17 Profil

icon Re: Zezancije sa DBGrid-om!30.11.2006. u 10:27 - pre 210 meseci
Ofarbaju mi se redovi u Dbgridu po zatatom uslovu ali muci me to da kada kliknem misem na jedan red, nece da poplavi ta linija.. Ono kao da je selektovano. Selektovano je, medjutim samo je uokvireno sivom bojom polje a nije onako ofarbano u plavo.. Kako to da resim da se jasno vidi da je nesto selektovano?
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Zezancije sa DBGrid-om!30.11.2006. u 11:28 - pre 210 meseci
> jedan red, nece da poplavi ta linija.. Ono kao da je selektovano. Selektovano je,
> medjutim samo je uokvireno sivom bojom polje a nije onako ofarbano u plavo..

Ne mogu sada da probam ali koliko se sećam jedan od mogućih vrednosti za State je gdFocused (ili slično), koji kaže da je slog ili polje trenutno aktivno. Samo treba da handluješ i taj slučaj pa da uradiš farbanje kako ti odovara.
 
Odgovor na temu

dogriz
Sombor

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

Sajt: dogriz.blogspot.com


+6 Profil

icon Re: Zezancije sa DBGrid-om!30.11.2006. u 11:28 - pre 210 meseci
Probaj ovo da dodaš u OnDrawColumnCell:

Code:

  if gdSelected in State then
    begin
      DBGrid1.Canvas.Brush.Color:=clBlue;
      DBGrid1.Canvas.Font.Color:=clWhite;
    end;

 
Odgovor na temu

MatezYU

Član broj: 4114
Poruke: 1586
*.adanet.co.yu.



+17 Profil

icon Re: Zezancije sa DBGrid-om!30.11.2006. u 12:03 - pre 210 meseci
To je to! Proradilo je... Hvala!
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
62.108.111.*



+2 Profil

icon Re: Zezancije sa DBGrid-om!30.11.2006. u 12:10 - pre 210 meseci
@savkic: gdFocused se odnosi na input fokus, tako da nece raditi sa celim redom. Matez pominje red, pa sam zato stavio gdSelected.

ono sto sam pre postovao kod mene radi. potrebno je samo u options od dbgrida staviti dgRowSelect i dgAllwaysShowSelection na True
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Zezancije sa DBGrid-om!30.11.2006. u 14:28 - pre 210 meseci
> @savkic: gdFocused se odnosi na input fokus, tako da nece raditi sa celim redom. Matez pominje red, pa sam zato stavio gdSelected.

Problem je ako se selektuje više slogova, zato sam išao na focus jer mi se čini da DBGrid podržava multi select.
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.kalik.info.



Profil

icon Re: Zezancije sa DBGrid-om!30.11.2006. u 15:20 - pre 210 meseci
Citat:
savkic:Problem je ako se selektuje više slogova, zato sam išao na focus jer mi se čini da DBGrid podržava multi select.

Da, u okviru TDBGrid -a postoji property MultiSelect i treba jednostavno vrednost postaviti na True.
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
62.108.111.*



+2 Profil

icon Re: Zezancije sa DBGrid-om!30.11.2006. u 18:54 - pre 210 meseci
bas zbog multi selecta bi i trebalo gdSelected. ako se koristi gdFocused, onda (iako je ukljuceno dgRowSelect) ostaje prikazan plavim samo jedan cell, a ne ceo red. mrzi me da proveravam sta bi bilo pri multi selectu, ali mislim da bi gdFocused opet dao samo jedan cell (onaj koji ima input fokus), a gdSelected bi dao svaki selektovan red.
 
Odgovor na temu

chips
Blazin Srdjan

Član broj: 14803
Poruke: 342
212.200.78.*



Profil

icon Re: Zezancije sa DBGrid-om!05.12.2006. u 00:30 - pre 210 meseci
Ako je to ovo?
Code:

procedure TForm1.VolgaDBGrid2DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TVolgaColumn;
  State: TGridDrawState);
 begin
 VolgaDBGrid2.Options:=[dgEditing,dgTitles,dgIndicator,dgColumnResize,dgColLines,dgRowLines,dgTabs,
dgConfirmDelete,dgCancelOnExit,dgEnterToTab,dgMultiSelect];
  if (gdSelected in State) then
     begin
         VolgaDBGrid2.Canvas.Font.Color := rgb(250,250,200);
         VolgaDBGrid2.Canvas.Font.Style := [fsBold];
         VolgaDBGrid2.Canvas.Brush.Color := rgb(80,110,160);
         VolgaDBGrid2.Canvas.FillRect(Rect);
         VolgaDBGrid2.Canvas.TextOut(Rect.Left,Rect.Top,Column.Field.AsString);
     end;
end;


Ja sam koristio Volga komponentu jer ima prelazak sa ENTER sa ćelije na ćeliju isto kao i sa TAB.

Znači ceo red mi se označi po HighLightColor i HighLightTextColor iz ObjectInspectora,
a svaka ternutno fokusirana ćelija ima bela bold slova i boju iz gore priloženog.

@badem

E sad, ovde sam zapeo

Citat:


citaj iz dataseta - uvek su dbgrid i dataset sa kojim je povezan pozicionirani na istom recordu
i o rednom broju je bilo reci. Dobijas ga sa:
DataSet.RecNo



Kada kliknem samo na pozicioner ili pomerim scroll-om, Multiselect dobija tačku a trenutni red crni trouglić,
a ja zelim da selektovani pozicioner dobije i multi select.
Jasno mi je da će DataSet.RecNo dobiti vrednost selektovanog reda, ali kako da to primenim u DrawColumnCell???
Sto puta sam ti SRPSKI rekao:
ono što jednom crack-uješ,
ne možeš više da patch-uješ!
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Zezancije sa DBGrid-om!

[ Pregleda: 3488 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

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