[ anthylon @ 14.02.2006. 08:27 ] @
Pozdrav svima...

Evo da pojasnim problem:

Postavim DBGrid; DataSource; AdoCnn; Query i sve to fino uvezem. Naravno, sve funkcionishe. Onda (obzirom da bi u gridu bilo mnogo kolona pa bi bilo nepregledno), fino dodam DBEdit polja; povezem sve to ... funkcinoshe. E, problem je kad pokusavam napraviti neku vrstu provjere podatak. Na primjer, da li je korisnik unijeo vrijednosti u odredjenom rasponu i sl. Ja mogu (naravno) provjeriti koje su to vrijednosti upisane, ali ne mogu nikako prekinuti snimanje (post) podataka jer direktno se upisuju u DataSet. Pokusao sam da ulovim event na klik na TBDNav ali kad sam malo pogledao njegov source ne ide to. Onda, na DataSetu; pa na Query-ju... Moguce da sam neki event "promasio" ali zaista sam pokusao sve Before.. i nije islo...

Ima li neko ideju kako da rijesim problem. Zelim nakon klika na dugme nbPost (post) da provjerim podatke i ako nisu ispravni da prekinem post! Je li to moguce ovim kontrolama? I kako bi islo u tom slucaju?

Hajde, dajte savjet... Radim u Delphi-ju oko mjesec dana...

Hvala

P.S. Pohvala za obucina - jako je bio strpljiv dok mi je na PP pojasnjavao kako da rijesim neke probleme....
[ beshtija @ 14.02.2006. 15:44 ] @
Kazes da ti BeforeAction ne radi posao,al probaj ponovo ovako
Code:
procedure TForm1.DBNavigator1BeforeAction(Sender: TObject;
  Button: TNavigateBtn);
begin 
  if (not Uslov) and (Button = nbPost) then
     SysUtils.Abort;
end;

[ anthylon @ 14.02.2006. 16:11 ] @
E sad radi... Nisam znao za SysUtil.Abort! Hm, koliko kontam, ovaj SysUtil se postavlja negdje prije eventa ili nesto u tom smislu... Ja sam pokusavao sa naredbama DataSet.Cancel

Probao sam i radi. Medjutim, i dalje pri upisu mogu snimati sa Enter npr. (u DBGrid-u). Dakle, bez da kliknem na nbPost .

Medjutim, postavio sam uslov koji si naveo/la (izvinjavam se zbog ovog ali tesko je odrediti :$) u DataSet UpdateData event. E, sad ni Enter ne moze mijenjati podatke... Tako, umoran sam i idem sada. Sutra cu detaljnije to razraditi...



HVALA
[ Almedin @ 14.02.2006. 22:10 ] @
Moze li ovako:

koristi BeforePost

procedure TForm1.MyDataBeforePost(DataSet: TDataSet);
begin
if Uslov then Abort;
end;
[ anthylon @ 16.02.2006. 11:52 ] @
Radi :).

Hvala momci :)