Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Dvori
Člen
Avatar
Dvori:6.10.2017 15:03

Ahoj, snažím se naplnit combobox z tabulky a nějak se mi nedaří. V tabulce data jsou. Do comboboxu se z tabulky nahrajou údaje z tabulky ze sloupce "Nazev". Ale hodnota se tam propíše pouze jako text SloupecID "název sloupce" do všech položek.

SqlDataAdapter sda1 = new SqlDataAdapter("SE­LECT name[Nazev], F15[SloupecID] FROM Objects_0000000F WHERE OwnerId = "+ IDRS +"", con);
DataTable dt1 = new DataTable();
sda1.Fill(dt1);

con.Close();

dataGridView1­.DataSource = dt1;

comboBox4OsaY­.DataSource = dt1;
comboBox4OsaY­.ValueMember = "SloupecID";
comboBox4OsaY­.DisplayMember = "Nazev";

 
Odpovědět
6.10.2017 15:03
Avatar
Jirka Jr
Člen
Avatar
Jirka Jr:6.10.2017 18:22

co jsem se tak poohlizel, tak na 3 mistech pisou, ze pry MS doporucuje nedriv nastavit ValueMember a DisplayMember

a potom teprve DataSource

zni to nesmyslne, ale prirazeni DataSource spusti nejakej event, kterej potrebuje mit ostatni vlastnosti nastavene

 
Nahoru Odpovědět
6.10.2017 18:22
Avatar
Odpovídá na Dvori
Michal Štěpánek:6.10.2017 19:12

Winforms nebo wpf?

Nahoru Odpovědět
6.10.2017 19:12
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Dvori
Člen
Avatar
Odpovídá na Michal Štěpánek
Dvori:6.10.2017 20:00

Winforms Forms

 
Nahoru Odpovědět
6.10.2017 20:00
Avatar
Dvori
Člen
Avatar
Odpovídá na Jirka Jr
Dvori:6.10.2017 20:02

Jo to jsem zkoušel a výsledek je totožný. Ačkoliv v tabulce ve SloupecID data jsou, tak ValueMember pro všechny položky je název sloupce, nebo to jen vezme text z kódu.

 
Nahoru Odpovědět
6.10.2017 20:02
Avatar
Dvori
Člen
Avatar
Dvori:8.10.2017 22:56

Tak vyřešeno

private void comboBox4OsaY_Se­lectedIndexChan­ged(object sender, EventArgs e)
{
try
{
hodnotaComboboxOsaY = comboBox4OsaY­.SelectedValu­e.ToString();
}
catch
{
MessageBox.Show("Ne­vybrali jste osu Y!");
}

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
8.10.2017 22:56
Avatar
Odpovídá na Dvori
Michal Štěpánek:9.10.2017 7:08

Když při psaní kódu použiješ to druhé tlačítko zleva "</>", bude tvůj příspěvek vypadat lépěji...

private void comboBox4OsaY_SelectedIndexChanged(object sender, EventArgs e)
{
        try
           {
            hodnotaComboboxOsaY = comboBox4OsaY.SelectedValue.ToString();
           }
   catch
           {
            MessageBox.Show("Nevybrali jste osu Y!");
           }
}

no, není to hezčí a přehlednější?

Nahoru Odpovědět
9.10.2017 7:08
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Dvori
Člen
Avatar
Odpovídá na Michal Štěpánek
Dvori:12.10.2017 22:17

Ano, děkuji za info. Zapamatuji si to pro příště. ;-)

 
Nahoru Odpovědět
12.10.2017 22:17
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.