• 14 odgovora
  • 5.535 pregleda
combobox sa dve kolone 14.10.2014. u 22:13 · pre 146 meseci #1
Imam combobox koji punim iz baze,i koji ima dve kolone,radnik i jmbg,ono sto mi treba jeste kada selektujem neki red iz comboboxa,da mi postavi u combobox samo prvu kolonu,dakle samo radnik...Ovaj kod koristim za punjenje combobox.....


try
{
comboBox1.Items.Clear();

using (var command = conn.CreateCommand())
{
command.CommandText = "SELECT Radnik,JMBG FROM [Radnici]";
conn.Open();
using (var reader = command.ExecuteReader())
{
while (reader.Read())
comboBox1.Items.Add(reader["Radnik"].ToString() + " [ " + reader["JMBG"].ToString() + " ] ");
}
}
}

finally
{
conn.Close();
}
Re: combobox sa dve kolone 15.10.2014. u 13:14 · pre 146 meseci #2
pokušaj na sličan način :
Code:

      Dictionary<string, string> listaRadnika= new Dictionary<string, string>();
      while (reader.Read())
      {
            listaRadnika.Add(reader["JMBG"].ToString(), reader["Radnik"].ToString())
      }
      comboBox1.DataSource = listaRadnika.ToList();
      comboBox1.DisplayMember = "Value";
      comboBox1.ValueMember = "Key";

Potpis
http://www.knjigaimena.com
Re: combobox sa dve kolone 15.10.2014. u 20:21 · pre 146 meseci #3
Nece.....i u mom kodu stavim on selected item bez druge kolone i ona opet izlazi...
Re: combobox sa dve kolone 15.10.2014. u 21:13 · pre 146 meseci #4
Sada sam uspeo da uradim sa ovim kodom,ali mi prikazuje samo prvi record......


conn.Close();
string query = "SELECT Radnik FROM [Radnici]";

conn.Open();

{
using (OleDbDataAdapter adapter = new OleDbDataAdapter(query, conn))
{
try
{

DataSet ds = new DataSet();
adapter.Fill(ds);
comboBox1.DataSource = ds.Tables[0];

}
finally
{
conn.Close();


}

}



}
Re: combobox sa dve kolone 17.10.2014. u 07:04 · pre 146 meseci #6
Ne razumijem šta želiš postići? Da ti se prikazuju obije kolone u Comboboxu ili da ti se prikazuje Radnik (ne znam šta misliš pod radnik ime, prezime ili nešto treće) a vezuje po JMBG-u?
Potpis
http://www.knjigaimena.com
Re: combobox sa dve kolone 17.10.2014. u 15:12 · pre 146 meseci #7
Hocu da mi u padajucem meniju prikaze dve kolone,sti i uspevam da uradim,ali ono ste ne uspevam jeste,da kada prikaze dve kolone,ja odaberem neki od item,da mi u combobox prikaze izabranu vrednsot,tj samo vrednost radnik...Radnik je jedna kolona,i sadzrzi ime i prezime.a jmbg je druga i sadrzi brojeve....Dakle da mi combobox prikaze dve kolone,a kada izaberem neku od njih,u combobox da mi prikaze samo jedan value,i to radnika....Recimo imam petar petrovic(radnik),1605987852145(jmbg),izaberem njerga u combobox mi postavlja samo petar petrovic...
Re: combobox sa dve kolone 20.10.2014. u 12:08 · pre 146 meseci #8
Koliko ja znam osnovni .Net combobox to ne moze.
Potrebno je da potrazis 3rd party ili da prepravis kontrolu prema svojim zeljama
Ovo drugo ako nisi radio pre, nije bas jednostavno. Potrebno je override-ovati dosta internih metoda od kontrole.
Re: combobox sa dve kolone 20.10.2014. u 12:44 · pre 146 meseci #9
Eventualno bi mogao jednu budz-varijantu. Ne secam se bas dobro koliko je u WinForms zastupljen binding ali probaj da uradis sledece ako je moguce:

Da ti ComboBox bude povezan sa listom objekata, da ti se prikazuje u listi property tog objekta i da objekat ima neki bool property IsSelected ili nesto slicno.
Kada se promeni selekcija u ComboBox-u, postavi IsSelected na true za taj selektovani a false za ostale.
Taj property koji ti se prikazuje u ComboBox-u napravis tako da ako je IsSelected true vaca vrednost za prikaz u jednoj koloni a ako je false u dve.


A ako mozes da koristis WPF umesto WinForms... Stvar postaje jednostavna. Doduse, ako nisi ucio WPF postace prvo komplikovana pa jednostavna
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: combobox sa dve kolone 20.10.2014. u 13:00 · pre 146 meseci #10
Evo ti još jedna ideja - probaj da menjaš DisplayMember na DropDown i DropDownClosed evente.
Re: combobox sa dve kolone 20.10.2014. u 14:45 · pre 146 meseci #11
probacu ovo sa drugim eventom,ili da stavim nekuu labelu,koja bi prikazivala samo jednu kolonu,i nju da stavim visible false,a da prikaze je u comboobox iz labele...
Re: combobox sa dve kolone 21.10.2014. u 14:36 · pre 146 meseci #13
Ako imas neku klasu koja ima dva svojstva: Radnik i JMBG, napravi novo svojstvo u klasi recimo TextToShow koje ima getter koji vraca Radnik + " | " + JMBG. Onda neka ti TextToShow bude DisplayMember, a ValueMember neka ti bude Radnik.
Re: combobox sa dve kolone 21.10.2014. u 15:05 · pre 146 meseci #14
I šta kada se pojave dva Petra Petrovića?
Re: combobox sa dve kolone 21.10.2014. u 17:12 · pre 146 meseci #15
nije problem ako se pojave dva ista,razliciti su im jmbg...zbog toga i radim sve....
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme