отобразить два столбца из таблицы данных в выпадающем списке

c# database winforms combobox datatable

380 просмотра

3 ответа

Я хочу объединить имя и фамилию из таблицы «человек» в поле со списком1. любые решения, пожалуйста!

   public MyForm()
        {
        InitializeComponent();
        combobox1_load();
        }

   public void combobox1_load()
    {
        da = new SqlDataAdapter("select * from PERSONNE ", cn);
        dt = new DataTable();
        try
        {
            cn.Open();
            da.Fill(dt);
            comboBox1.DataSource = dt;
            comboBox1.DisplayMember = "NOM_PERSONNE , PRENOM_PERSONNE";
           // comboBox1.ValueMember = "ID_PERSONNE";
        }

        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

        finally
        {
            cn.Close();
        }


    }

Я попытался изменить sqldataadapter следующим образом -> da = new SqlDataAdapter ("" выберите concat (NOM_PERSONNE, '', PRENOM_PERSONNE) из PERSONNE ", cn); .. но он тоже не работает !!

Автор: Semah Источник Размещён: 08.11.2019 11:06

Ответы (3)


2 плюса

SQL-запрос должен выглядеть следующим образом: "выберите concat (NOM_PERSONNE, '', PRENOM_PERSONNE) AS PERSONNEName из PERSONNE, а элемент отображения должен быть: comboBox1.DisplayMember =" PERSONNEName ";

Автор: Tarek Abo ELkheir Размещён: 20.08.2016 09:52

1 плюс

Решение

РЕШЕНО !!

   public void combobox1_load()
    {
        da = new SqlDataAdapter("select concat(NOM_PERSONNE,' ',PRENOM_PERSONNE) as 'nom_prenom' from PERSONNE ", cn);
        dt = new DataTable();
        try
        {
            cn.Open();
            da.Fill(dt);
            comboBox1.DataSource = dt;
            comboBox1.DisplayMember = "nom_prenom";
          //   comboBox1.ValueMember = "ID_PERSONNE";
        }

        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

        finally
        {
            cn.Close();
        }


    }
Автор: Semah Размещён: 20.08.2016 09:56

0 плюса

попробуй это

da = new SqlDataAdapter("select NOM_PERSONNE,PRENOM_PERSONNE from PERSONNE ", cn);

вместо

da = new SqlDataAdapter("select * from PERSONNE ", cn);

а также

comboBox1.DisplayMember = "NOM_PERSONNE" + "PRENOM_PERSONNE";

поставленный

comboBox1.DisplayMember = "nom_prenom";
Автор: Ankit Размещён: 20.08.2016 09:36
Вопросы из категории :
32x32