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

Kako: textbox da binduje iz listbox-a

[es] :: .NET :: Kako: textbox da binduje iz listbox-a

[ Pregleda: 2905 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Dundjerski Nemanja
Srbija

Član broj: 13846
Poruke: 167
*.dial.b92.net.



Profil

icon Kako: textbox da binduje iz listbox-a08.04.2006. u 18:47 - pre 190 meseci
Imam problem koji me uzasno nervira. Nisam pronasao pomoc ni na internetu pa pitam ovde.

Imam standardnu formu: ListBox koji ce da prikaze puno ime iz jedne tabele, i nekoliko textbox-eva.
Kada kliknem na item u ListBox-u hocu da mi se podaci prikazu u textbox-evima.

Kod za SelectedIndexChanged dogadjaj ListBox-a je sledeci:
Code:

private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
        {
//ovde prvo obrisem bindings...

//pa dodam nove:
this.txtOstaliFond.DataBindings.Add("Text", this.dataSet21.Tables[0].Rows[listBox1.SelectedIndex], "Upisnica.Penz_Ostali_Fond");
this.txtSamostFond.DataBindings.Add("Text", this.dataSet21.Tables[0].Rows[listBox1.SelectedIndex], "Upisnica.Penz_Samostalna_Fond");
}


Ovde mi puca program sa sledecim exception-om: Cannot create a child list for field Upisnica.
Probao sam neke stvari da uradim, ali mi nista ne pomaze.

Zna li neko sta je ovde u pitanju?
Unices are great!
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1341
*.3dnet.co.yu.



+310 Profil

icon Re: Kako: textbox da binduje iz listbox-a08.04.2006. u 19:10 - pre 190 meseci
Izbaci kod za bidnovanje iz SelectedIndexChanged event-a i stavi tamo gde puniš listu sa podacima (listBox1.DataSource = ...) prvu ili drugu varijantu koda, zavisi kako si postavio DataSource liste jedna od njih će raditi - kad se šetaš po listi menjaće se vrednosti i u text box-evima:

Code:

this.txtOstaliFond.DataBindings.Add("Text", this.dataSet21, "Upisnica.Penz_Ostali_Fond");
this.txtSamostFond.DataBindings.Add("Text", this.dataSet21, "Upisnica.Penz_Samostalna_Fond");


Code:

this.txtOstaliFond.DataBindings.Add("Text", this.dataSet21.Tables["Upisnica"], "Penz_Ostali_Fond");
this.txtSamostFond.DataBindings.Add("Text", this.dataSet21.Tables["Upisnica"], "Penz_Samostalna_Fond");


Pozdrav!
 
Odgovor na temu

Dundjerski Nemanja
Srbija

Član broj: 13846
Poruke: 167
*.dial.b92.net.



Profil

icon Re: Kako: textbox da binduje iz listbox-a08.04.2006. u 19:58 - pre 190 meseci
Huh, taman sam se ponadao da ce ovo da mi resi problem, ali opet isto... Kako god da okrenem. To sto si mi ti predlozio ne radi jer nece da promeni vrednost text svojstva textbox-ova.

Evo otvorio sam i novi, cist projekat, napravio slicnu situaciju, i nista (moje resenje generise pomenuti exception, a tvoje nece da menja textbox-ove). Recimo, probao sam da stavim sve u Form_Load...

Da li mozda ovo ima veze sa relacijama? U pitanju je inace samo jedna tabela.
Unices are great!
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1341
*.3dnet.co.yu.



+310 Profil

icon Re: Kako: textbox da binduje iz listbox-a08.04.2006. u 21:57 - pre 190 meseci
Da li si probao obe varijante koda? Ako jesi i ne radi onda postuj ceo kod iz Form_Load-a da bih mogao da vidim šta je u pitanju.
 
Odgovor na temu

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 898
*.sksyu.net.



+171 Profil

icon Re: Kako: textbox da binduje iz listbox-a09.04.2006. u 10:43 - pre 190 meseci
Citat:
dusans: Izbaci kod za bidnovanje iz SelectedIndexChanged event-a i stavi tamo gde puniš listu sa podacima (listBox1.DataSource = ...) prvu ili drugu varijantu koda, zavisi kako si postavio DataSource liste jedna od njih će raditi - kad se šetaš po listi menjaće se vrednosti i u text box-evima:


Da, ove ce se desiti samo ako im je CurrencyManager isti. Ukoliko nije, nista od ovoga. Znaci, code kod listBoxa trebao bi biti nesto sledece
Code:

listBox.DataSource = this.dataSet21;
listBox.DisplayMemeber = "Upisnica.<pa neko polje>";

ili

listBox.DataSource = this.dataSet21.Tables["Upisnica"];


Ako je ovo slucaj onda bi trebalo da radi a ako nije onda ces morati da se posluzis sa position property-om od CurrencyManager-a. Znaci na SelectedIndexChanged dodas sledeci kod

Code:

this.BindingContext[dataSet21, "Upisnica"].Position = position;


Sad na tebi je da odradis kako ces da nadjes position. Zato ako radis u .NET 2.0 onda se binduj na BindingSource a ne direktno na objekte iz kojih se citaju podaci. Ovako bi imao prosto resenje poput ovoga

Code:

bindingSource.Position = bindingSource.Find("kolonaPoKojojTrazis", listBox.SelectedValue);


 
Odgovor na temu

Dundjerski Nemanja
Srbija

Član broj: 13846
Poruke: 167
*.dial.b92.net.



Profil

icon Re: Kako: textbox da binduje iz listbox-a09.04.2006. u 12:02 - pre 190 meseci
Puno hvala obojici (!), ali resio sam problem. Problem je resen tako sto sam uklonio "Upisnica" iz polja u DataBindings:

Ovako je generisao exception:
Code:

this.txtOstaliFond.DataBindings.Add("Text", this.dataSet21, "Upisnica.Penz_Ostali_Fond");

Ovako je bilo sve u redu:
Code:

this.txtOstaliFond.DataBindings.Add("Text", this.dataSet21, "Penz_Ostali_Fond");

Inace, sam dizajner je generisao onaj gornji kod (koji sam ja doduse, kopirao) koji je generisao exception?! Inace ovo mi je prva komercijalna aplikacija, a pre toga nisam imao iskustva u bildovanju cele aplikacije. Inace radim u .NET v1.1.

Hvala jos jednom, negyxo sacuvacu ovaj page pa cu da vidim sta si napisao, jer ce mi trebati za kasnije sigurno. Ovo sto sam ja probao ja pisalu u knjizi u izdanju Wrox-a "C# Baze Podataka" :-P.

Jos nesto: Da li uvek pri rebindovanju moram da koristim new Binding? (ili to samo pri inicijalnom bind-u) :

this.txtOstaliFond.DataBindings.Add(new Binding("Text", this.dataSet21, "Upisnica.Penz_Ostali_Fond"));
Unices are great!
 
Odgovor na temu

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 898
*.sksyu.net.



+171 Profil

icon Re: Kako: textbox da binduje iz listbox-a10.04.2006. u 11:55 - pre 190 meseci
Citat:

Jos nesto: Da li uvek pri rebindovanju moram da koristim new Binding? (ili to samo pri inicijalnom bind-u) :


Objasni pojam rebindovanje. Ja kad koristim DataBindings, koristim samo jednom da dodelim vezu izmedju property-a i datasource-a. Rebindovanje bi bilo kad bi ukolonio postojeci binding i zamenio ga sa drugima ali to, mislim, da su u praksi retki slucajevi, cak sta vise ne vidim ni potrebu za takvim necim. Pre ce biti da je nege pogresan dizajn aplikacije. Inace ako pokusas dva puta da dodelis bindings za isti property dobices exception, tako da i da hoces da dodelis isti binding dva puta neces moci.
 
Odgovor na temu

[es] :: .NET :: Kako: textbox da binduje iz listbox-a

[ Pregleda: 2905 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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