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

DBGrid - prvi vidljivi red; ClientDataSet - trenutni zapis

[es] :: Pascal / Delphi / Kylix :: DBGrid - prvi vidljivi red; ClientDataSet - trenutni zapis

[ Pregleda: 2586 | Odgovora: 5 ] > 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 - prvi vidljivi red; ClientDataSet - trenutni zapis15.02.2007. u 16:34 - pre 209 meseci
Dakle, DBGrid je povezan na ClientDataSet.

Želja mi je da kad se forma prikaže prvi gornji vidljivi red u gridu bude RecNo iz dataset-u, a da prethodno
mogu da promenim RecNo (u događaju OnShow).


Kao razultat sam dobio red koji predstavlja trenutni zapis na sredini grida...

Iz očaja sam dodao promenu RecNo i u događaj OnCreate i to daje rezultate, ali samo za prvo prikazivanje forme.
Svako naredni ulaz na formu red stavlja u sredinu grida...


Probao sam nekolika rešenja sa neta ali nijedno nije dalo prave rezultate...

...pravljenje naslednika DBGrida
http://groups.google.com/group...ae3aa88a7f8%231b127ae3aa88a7f8


...pražnjenje propertija DataSource (delovalo je primamljivo!)

DBGrid1.DataSource := nil;
DBGrid1.DataSource := DataSource1;


inače, radim u Delphi 7 i koristim dbExpress ()
 
Odgovor na temu

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

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



Profil

icon Re: DBGrid - prvi vidljivi red; ClientDataSet - trenutni zapis15.02.2007. u 17:07 - pre 209 meseci
Nisam siguran da sam te razumeo ispravno, ali da li tebi treba redni broj u TDBGridu?
Ako da, probaj na TDBGrid obraditi event OnDrawColumnCell:
Code:

    if DataSource1.DataSet.RecNo > 0 then
    begin
    if Column.Title.Caption = 'No' then
         DBGrid1.Canvas.TextOut(Rect.Left + 2, Rect.Top, IntToStr(DataSource1.DataSet.RecNo));
    end

Dakle, pre toga u TDBGrid dodaj kolonu i u property "Caption" upiši "No" ili šta već želiš.
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

sdejan
Velika Plana

Član broj: 65737
Poruke: 12
195.178.56.*



Profil

icon Re: DBGrid - prvi vidljivi red; ClientDataSet - trenutni zapis15.02.2007. u 17:54 - pre 209 meseci
malo (više) sam umoran pa mi poruka nije baš sažeta i jasna...izvinjavam se !

obradio sam događaj i ne događa se ništa korisno, bar iz mog ugla :)

probaću kraće i sažetije: želim da mi nakon prikazivanja forme prvi gornji vidljivi red u gridu bude trenutni zapis iz dataset-a
(naravno, to nije nužno prvi zapis u datasetu, jer želim da menjam RecNo pre prikazivanja forme na kojoj se grid nalazi)

naglašavam: samo prilikom prikazivanja forme, ne i prilikom skrolovanja gore-dole kroz grid :)


dakle, ako mi je recimo RecNo = 5 da prvi vidljiv zapis u gridu bude peti; korisnik će naravno moći da pregleda i prethodne redove skrolovanjem na gore :)


sad je valjda jasno :)




 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: DBGrid - prvi vidljivi red; ClientDataSet - trenutni zapis15.02.2007. u 19:49 - pre 209 meseci
> probaću kraće i sažetije: želim da mi nakon prikazivanja forme prvi gornji vidljivi red u gridu bude trenutni zapis iz dataset-a
> (naravno, to nije nužno prvi zapis u datasetu, jer želim da menjam RecNo pre prikazivanja forme na kojoj se grid nalazi)

DBGrid nije tako zamišljen da radi, nisam siguran da rešenje postoji a ako postoji da ga je lako naći. Svakako bi morao da detaljno pogledaš kod DBGrida i Grida i vidiš ima li nešto što se može iskoristiti. Ili potraži neku alternativnu DBGrid komponentu.
 
Odgovor na temu

sdejan
Velika Plana

Član broj: 65737
Poruke: 12
195.178.56.*



Profil

icon Re: DBGrid - prvi vidljivi red; ClientDataSet - trenutni zapis23.02.2007. u 16:53 - pre 209 meseci
Nisam rešio problem, ali sam ga bar zaobišao.

Evo kako:

formu na kojoj se grid nalazi sam prebacio u avaible forms (Project>Options>Forms). Svaki put kada je potrebno da se prikaže grid,
formu kreiram as TForm1.Create(Application); kada korisnik želi da predje na nešto drugo uništim formu sa TForm1.Release i to je to...

Rešenje je daleko od optimalnog, ali drži vodu...

Kad smislim nešto pametnije (prilagodim grid) postovaću...

 
Odgovor na temu

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: DBGrid - prvi vidljivi red; ClientDataSet - trenutni zapis23.02.2007. u 23:24 - pre 209 meseci
Pravac na

http://thedailywtf.com/

sa takvim resenjem! I mi konja za trku imamo! ;)
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: DBGrid - prvi vidljivi red; ClientDataSet - trenutni zapis

[ Pregleda: 2586 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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