Как заполнить ComboBox из DataTable - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь показать список в выпадающем списке из SQL, но не могу заставить его работать.Я не получаю никаких ошибок, но мой выпадающий список ничего не показывает.

Вот мой код:

public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    SqlConnection conn = new SqlConnection(@"Data Source=MEDIXPC197;" + 
        "Initial Catalog=Inventory;Integrated Security=True");

    SqlCommand cd = new SqlCommand();

    public void cc()
    {
        conn.Open();
        SqlCommand cmd = conn.CreateCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "SELECT Department from tbldept";
        cmd.ExecuteNonQuery();
        DataTable dt = new DataTable();
        SqlDataAdapter Da = new SqlDataAdapter(cmd);
        Da.Fill(dt);

        foreach (DataRow dr in dt.Rows)
        {
            comboBox1.Items.Add(dr["Department"].ToString());
        }

        conn.Close();
    }

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        conn.Open();
        SqlCommand cmd = conn.CreateCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "select Department from tbldept";
        cmd.ExecuteNonQuery();
        DataTable dt = new DataTable();
        SqlDataReader dr = cmd.ExecuteReader();
        comboBox1.Items.Add(dr.GetValue(0));
    }
}

1 Ответ

0 голосов
/ 05 декабря 2018

Вы можете попробовать это.

   public void cc()
        {
            conn.Open();
            SqlCommand cmd = conn.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT Department from tbldept";
            cmd.ExecuteNonQuery();
            DataTable dt = new DataTable();
            SqlDataAdapter Da = new SqlDataAdapter(cmd);
            Da.Fill(dt);

             if (dt!= null && dt.Rows.Count > 0)
                    {
                        comboBox1.DisplayMember = "Department ";
                        comboBox1.ValueMember = "Department ";
                        comboBox1.DataSource = dt;                    
                    }
            conn.Close();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...