[ Mr. Rejn @ 26.12.2006. 09:45 ] @
Kako da otvorim DataSet (npr. TIBTable komponenta) metodom Open() u svrhu unosa novog sloga
a da se ne vrsi popunjavanje dbgrid-a podacima svaki put kada otvorim dataset?

Znaci, zelim da napravim novi unos i pozivam Open() dataset-a, zatim pozivam Append() pri
cemu se otvara novi red za unos sloga (ali se mehanizam DBGrid ne popunjava podacima iz ta-
bele TTable!) i potom se unosi novi slog direktno preko Post().
[ _v!rus_ @ 26.12.2006. 11:56 ] @
Mozda ti pomogne TDataset.DisableControls.

Mozda je bolja praksa da imas odvojene datasete za prikaz i edit, onda u datasetu za prikaz mozes koristiti i joinove i sl., kada se uspesno postuje edit dataset osvezis view dataset i lociras editovani/dodati record.
[ Mr. Rejn @ 26.12.2006. 13:26 ] @
Budući da ne znam kako da sprečim prikazivanje podataka u dbgrid-u po otvaranju dataset-a,
mislim da ovo može da radi:
Upotrebi se IBQuery, pa se u SQL stavi upit za koji se zna da ne vraća rezultat (npr. nađi
zapis sa nepostojećim ID-om),tako da kada se otvori dataset sa Open() pojavi se samo prazni
red u koji se stavke odmah mogu unositi (zapravo isto efekat kao Append() metoda).

Takođe se RefreshSQL osobina IBUpdateSQL komponente ostavi prazna kako bi sprečili Query
da izvrši refresh posle post-a. Ovo radi,a meni ništa drugo ne pada napamet.

Možda neko zna neki drugi način kako sprečiti Query da vuče podatke sa servera odmah po otvaranju.
[ savkic @ 26.12.2006. 23:31 ] @
Pre svega zaboravi na TIBTable komponentu. Ne pratim logiku da unos radiš u posebnom praznom gridu, ili radi u istoj gridu gde su i ostali podaci ili napravi posebnu formu sa db aware kontrolama. Veoma je jednostavno podesiti da sve ide iz jednog grida, treba ti TIBDataSet, postavi select, insert, delete, update i refresh sql i to je sve.