Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 3.457 pregleda

Najnovija ↓

Punjenje comboboxa sa datasetom 19.04.2008. u 12:02 · pre 225 meseci
izmenjeno 1 put, poslednji put Shadowed 19.04.2008. u 15:46
  1. Shadowed19.04.2008. u 15:46zapis iz teksta poruke
#1
Naime, kako da popunim combobox sa rezultatima upita kad imam vise do jedne jednog atributa u rezultatu
Imam primjer koda:
Code:

            konekcija.Open();
            //Ovo je z adodavanje u comboOtac
          

            int brojzapisa = Convert.ToInt32(txtID.Text);

            string upit = "SELECT Osoba.OsobaID, Osoba.OsobaPrezime, Osoba1.OsobaIme,  Osoba.OsobaIme ,Mjesto.MjestoNaziv, Osoba.DatumRodenja ";
            upit += "FROM (Osoba LEFT JOIN Osoba AS Osoba1 ON Osoba.OtacID=Osoba1.OsobaID)  ";
            upit += "LEFT JOIN Mjesto ON Osoba.MjestoRodjenjaID=Mjesto.MjestoID WHERE (Osoba.Spol like 'M') AND Osoba.OsobaID = " + brojzapisa;
           
            SqlDataAdapter dAdapter = new SqlDataAdapter(upit, konekcija);
           
            DataSet dset = new DataSet();
            dAdapter.Fill(dset, "table");

            this.comboOtac.DataSource = dset;
            this.comboOtac.DisplayMember =  // "table.OsobaID" + "table.OsobaPrezime + table.OsobaIme + table.OsobaIme + table.MjestoNaziv + table.DatumRodenja"; 
            if (comboOtac.SelectedItem == null)
                comboOtac.Text = "";
           konekcija.Close();
}

Znaci unutar comboboxa moram prikazati ID + Ime Osobe + Ime Oca + Prezime Osobe + Mjesto stanovanja i datum rodenja


Unaprijed hvala na odgovoru
Re: Punjenje comboboxa sa datasetom 19.04.2008. u 12:38 · pre 225 meseci #2
Ili spajaj stringove

Code:

SELECT Osoba.OsobaID + ' ' + Osoba.OsobaPrezime + ' '  ' ' + Osoba1.OsobaIme + ' ' + Osoba.OsobaIme + ' ' + Mjesto.MjestoNaziv + ' ' + Osoba.DatumRodenja 
...


Vodi samo racuna o tipovima podataka, SQL server ce ti nesto implicitno konvertovati a nesto ne.


ili nadji neki 3rd party combobox koji to moze da radi, ili menjaj kontrolu ili uci WPF i lepo binduj ComboBoxItem na DataTemplate :)


Jos nesto, ovo vazi za desktop.
Re: Punjenje comboboxa sa datasetom 19.04.2008. u 22:56 · pre 225 meseci #3
Ako će ti kolone zatrebati i odvojene - nemoj ih spajati u SQL upitu, već spajanje vrši putem dodatne kolone tabele i Expression svojstva:

Code:

SqlDataAdapter da = new SqlDataAdapter("select EmployeeID, FirstName, LastName, Title from Employees", "data source=.;integrated security=true;initial catalog=Northwind;");
DataTable dt = new DataTable();
da.Fill(dt);
dt.Columns.Add("ColumnForCombo", typeof(String), "FirstName + ' ' + LastName + ' (' + Title + ')'");

comboBox1.DataSource = dt;
comboBox1.DisplayMember = "ColumnForCombo";
comboBox1.ValueMember = "EmployeeID";


Vidjećeš u kod-u gdje dodajem novu kolonu u datatable (može to biti i dataset.datatable, ali zašto komplikovati), i dodjeljujem svojstvo Expression-a (vrlo interesantna osobina - treba o tome nešto više pročitati u MSDN-u, jer omogućava pribavljanje podatka i iz data tabela iz relacija sa Parent, Child funkcijama, zatim matematičke operacije itd...).

Da ne dužim mnogo - sve je u kod-u. :)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme