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

DateSet - sprečavanje scroll-a

[es] :: Pascal / Delphi / Kylix :: DateSet - sprečavanje scroll-a

[ Pregleda: 1454 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

FranjoZG
Franjo Popović
Programer
Zagreb

Član broj: 328819
Poruke: 242
*.adsl.net.t-com.hr.



+2 Profil

icon DateSet - sprečavanje scroll-a15.10.2015. u 14:14 - pre 57 meseci
Prekopao internet i nisam našao usvislo rješenje za problem:

Kako u event-u DataSet.BeforeScroll spriječit scroll?
Pokušao sam sa:

Code:
Abort;


ili
Code:

...
  if CancelScroll then begin
     CancelScroll := false;
     if MessageDlg('Podaci su mijenjani' + #13 + 'Zaboraviti izmjene?', mtConfirmation, [mbYes, mbNo], 0) = mrNo then begin
        try
          raise Exception.Create('');
        except
        end;
     end;
  end;





Npr: stranka mijenjala podatke i zabunom kliknula na drugi podatak u gridu prije upisa.
 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 904
*.dynamic.isp.telekom.rs.



+30 Profil

icon Re: DateSet - sprečavanje scroll-a15.10.2015. u 17:10 - pre 57 meseci
Mislim da nebi trebalo da dozvolis stranci da menja podatke direktno u dbgridu, vec preko edita
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2628



+69 Profil

icon Re: DateSet - sprečavanje scroll-a16.10.2015. u 02:54 - pre 57 meseci
> Npr: stranka mijenjala podatke i zabunom kliknula na drugi podatak u gridu prije upisa.

Nemam sad ovde kod da proverim direktno u TDatasetu ali mi se cini da se ti eventi dizu posto je promena vec izvesna. Ima neki drugi trik da se spreci, ali ne znam napamet, mozda da pokusas sa BeforeEdit/Insert/Post pa da tako sprecis promenu fokusa.
 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 904
*.dynamic.isp.telekom.rs.



+30 Profil

icon Re: DateSet - sprečavanje scroll-a16.10.2015. u 06:21 - pre 57 meseci
Ne razumem šta tačno želiš ali ako želiš da te upita pre promene rekorda klikom u dbgridu probaj ovako nešto
u event-u DataSet.BeforeScroll

Code:
  if DataSet.RecNo <> 1 then
    if MessageDlg('Podaci su mijenjani' + #13 + 'Zaboraviti izmjene?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
      abort;
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: DateSet - sprečavanje scroll-a16.10.2015. u 10:15 - pre 57 meseci
TDBGrid ako se ne varam ne mijenja trenutni RecNo kod scrollanja, uzmi i to u obzir.
F
 
Odgovor na temu

FranjoZG
Franjo Popović
Programer
Zagreb

Član broj: 328819
Poruke: 242
*.adsl.net.t-com.hr.



+2 Profil

icon Re: DateSet - sprečavanje scroll-a16.10.2015. u 14:29 - pre 57 meseci
Hvala na odgovorima.
Ovo sa Abort, funkcionira ali djelomično.

Nemam izmjenu podataka unutar grida, ali, stari program - naslijedio ga... Ne koristi DBEdit već Edit text box-ove. U DataSource.OnDataChange se pune text box-ovi.

Sranke počne upisivati u editbox, zapamtim da je počela unositi izmjene, pritisne na drugi podatak u gridu i prije nego izgubi upis - moram ju upozoriti.
Sa Abrot radi, ali imam master-detail. Kada radim samo za master, sve OK, ali kada uključim detail - javlja greške pri Abort-u.

Znači: treba spriječiti scroll. Koristim svoju kontrolu koja je nasljednik TIBDataSet tako da bi to bilo jednostavno riješiti unutar nje, kad bih znao kako...
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2628



+69 Profil

icon Re: DateSet - sprečavanje scroll-a16.10.2015. u 14:46 - pre 57 meseci
Stavi evente na OnExit od EditBoxa ili OnEnter od grida, okidaju se pre promene sloga/skrola.
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: DateSet - sprečavanje scroll-a17.10.2015. u 10:42 - pre 57 meseci
Ili postavi a) DBGrid1.Enabled := false u trenutku kad kliknu na popravak ili b) napravi još jedan DataSource koji puni DBGrid, onda u trenutku kada kliknu na popravak prebaci da DBGrid ima DataSource2 a DataSet neka mu da slijedeće:
Code:
 select * from tablica where sifra = :sifra_koja_se_mijenja

F
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: DateSet - sprečavanje scroll-a

[ Pregleda: 1454 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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