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

[C#] Kada se DataRowState menja ?

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

[ Pregleda: 951 | Odgovora: 7 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dusty
Predrag Glumac
Srbija

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

Sajt: www.obrazovne-karakterist..


Profil

icon [C#] Kada se DataRowState menja ?03.08.2004. u 14:14

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.
cheers, dusty

They may cut your dick in half, and serve it to a pig,
and, although it hurts, you'll laugh and dance a dickless jig.

RHCP djubrad neopevana - EXIT TEAM qurwe lopovske
03.08.2004. u 14:14 

akrosoft
Dusan Mihajlovic
Beograd

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

Sajt: www.RoditeljPortal.com


Profil

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

this.BindingContext[ds,s_table]EndCurrentEdit();
03.08.2004. u 18:22 

akrosoft
Dusan Mihajlovic
Beograd

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

Sajt: www.RoditeljPortal.com


Profil

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

....i fali mi tacka pre poziva metode.....
03.08.2004. u 19:48 

dusans
Stojanov Dušan
Pančevo

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



Profil

icon Re: [C#] Kada se DataRowState menja ?04.08.2004. u 07:33
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.
04.08.2004. u 07:33 

dusty
Predrag Glumac
Srbija

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

Sajt: www.obrazovne-karakterist..


Profil

icon Re: [C#] Kada se DataRowState menja ?04.08.2004. u 09:32
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
cheers, dusty

They may cut your dick in half, and serve it to a pig,
and, although it hurts, you'll laugh and dance a dickless jig.

RHCP djubrad neopevana - EXIT TEAM qurwe lopovske
04.08.2004. u 09:32 

aXi

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



Profil

icon Re: [C#] Kada se DataRowState menja ?04.08.2004. u 12:02
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 pele@beotel.yu... siguran sam da ti mogu pomoci...
.NET expert wanna-be
Ne citam PM :( => saljite mail
04.08.2004. u 12:02 

dusty
Predrag Glumac
Srbija

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

Sajt: www.obrazovne-karakterist..


Profil

icon Re: [C#] Kada se DataRowState menja ?04.08.2004. u 14:18
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.
cheers, dusty

They may cut your dick in half, and serve it to a pig,
and, although it hurts, you'll laugh and dance a dickless jig.

RHCP djubrad neopevana - EXIT TEAM qurwe lopovske
04.08.2004. u 14:18 

aXi

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



Profil

icon Re: [C#] Kada se DataRowState menja ?04.08.2004. u 15:29
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
04.08.2004. u 15:29 

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

[ Pregleda: 951 | Odgovora: 7 ]

Postavi temu Odgovori

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