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

Listobx i vrijednosti iz baze

[es] :: .NET :: Listobx i vrijednosti iz baze

[ Pregleda: 1301 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

GMC
Selo Veselo

Član broj: 11492
Poruke: 338
89.146.161.*



Profil

icon Listobx i vrijednosti iz baze27.10.2012. u 21:43 - pre 139 meseci
Pokusavam u VB.net-u da napravim jedan mali program koji izmedju ostalog koristi Access bazu podataka i list box za prikaz.

Ako u jednoj tabeli u bazi imam polja kao sto su: Ime, prezime, JMBG, adresa, tel.... i ako zelim da u formi koju sam napravio u VB.net imam listbox u kojem ce biti prikazani samo Ime i Prezime a klikom na neko od ponudjenih imena bi se ostali podaci prikazali u za to predvidjenim poljima.

Ja sam uspio stvoriti konekciju sa bazom, pozvati query koji sam u accessu prethodno pripremio i uspijem u listboxu prikazati (postavim datasource i Display Member) imena i prezimena ljudi iz baze ali ne znam kako da nakon klika na neko ime i prezime prikazem i ostale podatke?

Vjerovatno je ovo vrlo jednostavno za rijesiti ali sam totalni pocetnik pa mi ovaj problem zadaje muke vec cijeli dan.

Ajd Zdravo
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.sbb.rs.



+5 Profil

icon Re: Listobx i vrijednosti iz baze28.10.2012. u 12:27 - pre 139 meseci
Pa mozes napraviti relaciju sa dve tabele jedna sa imenom i prezimenom a druga sa ostalim podacima,ili mozes preko query,tako sto ces koristiti upit where in...Imam nesto slicno,ako nadjem napisacu ti

recimo ovako nesto


query1.SQL.Clear ;
query1.Close;
query1.SQL.Add ('SELECT SUM( ukupno ) FROM statistika');
query1.SQL.Add (' WHERE sifra IN('+ sifre +')');
Query1.Open;


ili relacija....

Query1.SQL.Clear;
Query1.SQL.Add('select * from Table1, Table2');
Query1.SQL.Add('where Table1.Id=Table2.Id2');
Query1.Open;



[Ovu poruku je menjao popmilan76 dana 29.10.2012. u 17:19 GMT+1]
 
Odgovor na temu

Mare_TS
Marko Pravdic
Software Engeneer - Microsoft .NET
Beograd, Banovo Brdo

Član broj: 62586
Poruke: 35



+1 Profil

icon Re: Listobx i vrijednosti iz baze31.10.2012. u 13:53 - pre 139 meseci
Znam da si postavio pitanje za VB, ali ja ću da probam da ti objasnim u C#, a verujem da ćeš se snaći pošto su razlike uglavnom sintaksne. :)

Prvo par stvari o ListBox kontroli.

Listbox kao kontrola ima kolekciju objekata u propertiju Items. Ti objekti se prikazuju u vidu liste koja može imati SingleSelect ili MultiSelect metod odabira. Redovi koji se vide na listi se popunjavaju tako što se za svaki objekat iz kolekcije "Items" pozove ToString() metoda (predstavlja tekstualnu reprezentaciju tog objekta) i upiše se string u jedan red. Kontrola ima properti koji predstavlja koji selektovani objekat iz kolekcije "Items" i zove se "SelectedItem", a "Text" properti prestavlja ToString() od selektovanog objekta.
Još jedna stvar koja tebi treba je događaj pod nazivom SelectedIndexChanged i koji se okida kada se promeni odabrana stavka u listi.

E sad ti možeš da napraviš jednu klasu koja će da predstavlja tabelu iz baze i da uradiš override metode ToString() da ti prikazuje samo 'Ime Prezime' kada ti treba tekstualna reprezentacija tog objekta, odnosno da bi se samo to prikazivalo na listi.

Evo primer:
Code:

    public class MojaOsobaIzBaze
    {
        public string ime;
        public string prezime;
        public int JMBG;
        public string adresa;
        public string telefon;
        .
        .
        .
        public override string ToString()
        {
            return this.ime + " " + this.prezime;
        }
    }
Sad kada se startuje aplikacija učitaš sve podatke iz baze (ili postaviš na klik na dugme ili neki drugi event) uz pomoć:
Code:
SELECT * FROM MojaTabelaUBaziSaOsobama
u DataSet ili DataTabelu.Onda iteriraš kroz sve vraćene redove i za svaki napraviš novi objekat tipa MojaOsobaIzBaze, sa podacima u tom redu, i taj objekat dodaš u kolekciju "Items" u "ListBox"
Code:
listBox.Items.Add(mojaOsobaIzBaze1);
Kada se završi iteracija imaćeš u vidljivoj listi spisak svih objekata predstavljenih samo sa njihovim Imenom i Prezimenom. Kada odabereš neki red u listi okinuće se SelectedIndexChanged događaj a u SelectedItem će se upisati ceo MojaOsobaIzBaze objekat.
Evo primera koda kako bi trebalo da izgleda događaj SelectedIndexChanged za listBox:
Code:
        private void listBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListBox lista = sender as ListBox;
            if (lista != null)
            {
                imeLabel.Text = (lista.SelectedItem as MojiListBoxItemi).ime;
                prezimeLabel.Text = (lista.SelectedItem as MojiListBoxItemi).prezime;
                jmbgLabel.Text = (lista.SelectedItem as MojiListBoxItemi).JMBG.ToString();
                adresaLabel.Text = (lista.SelectedItem as MojiListBoxItemi).adresa;
                telefonLabel.Text = (lista.SelectedItem as MojiListBoxItemi).telefon;
                .
                .
                .
            }
        }
Preptpostavimo da imaš na formi labele (imeLabel, prezimeLabel, jmbgLabel, adresaLabel, telefonLabel..) u koje će da se upisuju vrednosti selektovanog objekta iz liste.

Evo pokušao sam :) ako ti nešto ne bude jasno ti viči.
 
Odgovor na temu

GMC
Selo Veselo

Član broj: 11492
Poruke: 338
89.146.188.*



Profil

icon Re: Listobx i vrijednosti iz baze06.11.2012. u 20:25 - pre 139 meseci
Hvala na iscrpnim odgovorima, puno je jasnije ;)
Ajd Zdravo
 
Odgovor na temu

[es] :: .NET :: Listobx i vrijednosti iz baze

[ Pregleda: 1301 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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