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

[C#] Kada se DataRowState menja ?

[es] :: .NET :: .NET Desktop razvoj :: [C#] Kada se DataRowState menja ?

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dusty
Predrag Glumac
Zemun, Srbija

Član broj: 15383
Poruke: 549
*.jugopetrol.co.yu

Sajt: www.mika.rs


+6 Profil

icon [C#] Kada se DataRowState menja ?03.08.2004. u 14:14 - pre 188 meseci
Pozdrav narode.

Imam jedan problem. Naime bindovao sam DataSet i tabele iz njega za kontrole na formi. Imam jedno dugme koje poziva moju metodu koja poziva Update za taj dataSet, ali samo za izmenjene redove:

Code:

public void UpdateSource(ref DataSet ds, string s_table){
 DataTable upd; //, del, ins;
 
 upd = ds.Tables[s_table].GetChanges(DataRowState.Modified);

 if(upd != null){
   try{
     sda.Update(upd);   // sda SqlDataAdapter za moj dataset
   }
   catch(SqlException se){
    Debug.WriteLine(se.Message);
   }
 }
}


Ovo lepo radi, ali problem je u tome sto red dobija status Modified tek kada se promeni trenutno aktivni red. Probao sam preko CurrencyManager-a, nesto kao cm.EndCurrentEdit i cm.Postition = cm.Postition, ali mi aplikacija skroz odlepi Odradi se update sasvim normalno, ali bindovane kontrole posle ovog sa CurrenyManagerom ne prikazuju nista - kao da nije su tabele na koje su bindovane prazne !!

Kako da updateujem trenutni red koji sam menjao, tj. kako da red dobije svoj status Modified/Added da bih mogao da updateujem preko gornje metode ?

Hvala.
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
 
Odgovor na temu

akrosoft
Dusan Mihajlovic
Beograd

Član broj: 31201
Poruke: 129
*.nat-pool.bgd.sbb.co.yu

Sajt: www.RoditeljPortal.com


Profil

icon Re: [C#] Kada se DataRowState menja ?03.08.2004. u 18:22 - pre 188 meseci
Probaj da pozoves metodu EndCurrentEdit CurrenyManager-a pre pozivanje Update komande.
Code:

this.BindingContext[ds,s_table]EndCurrentEdit();
 
Odgovor na temu

akrosoft
Dusan Mihajlovic
Beograd

Član broj: 31201
Poruke: 129
*.nat-pool.bgd.sbb.co.yu

Sajt: www.RoditeljPortal.com


Profil

icon Re: [C#] Kada se DataRowState menja ?03.08.2004. u 19:48 - pre 188 meseci
Ups....nisam pazljivo procitao da si to vec probao......Sorry.....

....i fali mi tacka pre poziva metode.....
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1323
*.bisinter.net



+306 Profil

icon Re: [C#] Kada se DataRowState menja ?04.08.2004. u 07:33 - pre 188 meseci
Ovo sa currency managerom radi 100% bez dela cm.Postition = cm.Postition, probaj i kombinaciju this.BindingContext[ds.Tables(s_table)].EndCurrentEdit();
Problem može nastati ako koristiš CheckBox kontrolu koja "gleda" na Null vrednost, onda ne dobijaš nikakvu grešku ali ostale kontrole ne rade kako treba. Proveri ostatak tvog koda, sa CurrencyManager-om sam radio hiljadu puta i radi kako treba.
 
Odgovor na temu

dusty
Predrag Glumac
Zemun, Srbija

Član broj: 15383
Poruke: 549
*.jugopetrol.co.yu

Sajt: www.mika.rs


+6 Profil

icon Re: [C#] Kada se DataRowState menja ?04.08.2004. u 09:32 - pre 188 meseci
Citat:

Ovo sa currency managerom radi 100% bez dela cm.Postition = cm.Postition


Nisam se dobro izrazio, probao sam samo cm.EndCurrentEdit(), pa posle cm.Position = cm.Position. Skontao sam da sam nesto zeznuo kod bindovanja, mislio sam da je mega-ultra-super-turbo-glupava DateTimePicker kontrola koja ne guta Null vrednosti, mada se isto desava kada je i pravilno popunjena

Anyway, hvala obojci na savetima Cim provalim gde sam zeznuo postovacu odgovor za buduce generacije
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
 
Odgovor na temu

aXi

Član broj: 9661
Poruke: 20
*.spinnaker-nt.com



Profil

icon Re: [C#] Kada se DataRowState menja ?04.08.2004. u 12:02 - pre 188 meseci
dusty,

Bindovanje je izuzetno "bagovita" oblast .NETa - manje vise sve moras odraditi po odredjenim pravilima koja su recimo dobro objasnjenje u knjizi Chris Sells-a "Windows Forms Programming". Ako kontrole polude onda kada bindovanje nije dobro odradjeno => pomenuo si da ti update prodje a kontrole polude - znaci da je nesto u medjuvremenu pojebalo DataSet.

Po ovome sto si postovao mislim da je za*** u tome sto pozivas .GetChanges() i vadis u posebnu tabelu pa onda adapter to uzima u obzir - SqlDataAdapter.Update() po definiciji updatuje samo one redove u kojima ima promena.

Takodje na nekim mestima problem resava sledece:
////////////////////
this.BindingContext[BindovaniDataSet, "BindovanaTabela"].SuspendBinding();
pozivProcedureZaUpdate();
this.BindingContext[BindovaniDataSet, "BindovanaTabela"].ResumeBinding();
////////////////////

Ja u principu ovde mogu samo da nagadjam do cega je... ako te zaista baguje i ne mozes da resis a zelis da resis izdvoj mi deo projekta vazan za ovu pricu, zipuj i posalji mi na [email protected] siguran sam da ti mogu pomoci...
.NET expert wanna-be
Ne citam PM :( => saljite mail
 
Odgovor na temu

dusty
Predrag Glumac
Zemun, Srbija

Član broj: 15383
Poruke: 549
*.jugopetrol.co.yu

Sajt: www.mika.rs


+6 Profil

icon Re: [C#] Kada se DataRowState menja ?04.08.2004. u 14:18 - pre 188 meseci
Paaaaa, recimo da sam _nešto_ uspeo da uradim. Problem je u bindovanju na DateTimePicker. Iako vrednosti nisu null, binding odlepi posle updatea. Držim jedan DataGrid za debagovanje i posle updatea kontrole ostanu pazne, ali u DataGridu se vidi da je DataSet i dalje popunjen ?! Nije mi jasno, milion puta sam pravio binding na DateTimePicker, a sada nesto ludi ?!

Kada sam izkomentarisao redove gde bindujem za DateTimePicker proggy fercera !

Izgleda da mi sada jedino preostaje da napravim svoju kontrolu za DateTime koja ce prihvatati null.
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
 
Odgovor na temu

aXi

Član broj: 9661
Poruke: 20
*.comtrade.co.yu



Profil

icon Re: [C#] Kada se DataRowState menja ?04.08.2004. u 15:29 - pre 188 meseci
I meni je ludelo Bindovanje kada nije inicijalizovan DateTime a bindujem... stoga si u pravu => ili ces napraviti svoju kontrolu koja prima null (imas jednu na CodeProject.com) ili ces inicijalizovati vrednosti uvek u DataSetu ako ne postoje...

bedaq...
.NET expert wanna-be
Ne citam PM :( => saljite mail
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: [C#] Kada se DataRowState menja ?

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

Postavi temu Odgovori

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