在组合框中显示列表项并关注数据库中的预存值

Display List items in Combobox and Focus on presaved value from DB

我有一个 id 文本框和一个名称、部门组合框和一个部门,我已经将它们与 MS Access 链接起来,但是部门和部门组合框只显示选定的值(不是包含所有项目的列表),我需要它给我一个包含所有项目的列表和一个关注该 ID 的当前值。

这是我目前所拥有的:

 private void id_txt_TextChanged(object sender, EventArgs e)
    {
        try
        {
            bool hasdata = false;
            if (id_edit.Text != "")
            {
                connection.Open();
                OleDbCommand command = new OleDbCommand();
                command.Connection = connection;
                String query = " SELECT * FROM emp_personal WHERE ID = " + Int32.Parse(id_edit.Text) + "";
                command.CommandText = query;
                OleDbDataReader reader = command.ExecuteReader();
                OleDbDataAdapter adapter = new OleDbDataAdapter(query, connection);
                while (reader.Read())
                {
                    hasdata = true;
                    name_edit.Text = reader["Name"].ToString();

                    DataSet ds = new DataSet();
                    adapter.Fill(ds);

                    department_edit.DataSource = ds.Tables[0];
                    department_edit.DisplayMember = "Department";
                    department_edit.ValueMember = "Department";


                    division_edit.DataSource = ds.Tables[0];
                    division_edit.DisplayMember = "Division";
                    division_edit.ValueMember = "Division";
                }
                connection.Close();
            }

            if (!hasdata)
            {
                name_edit.Clear();
                department_edit.SelectedIndex = -1;
                division_edit.SelectedIndex = -1;

            }
        }

        catch (Exception ex)
        {
            MessageBox.Show("Error " + ex);
            connection.Close();
        }
    }

谢谢。

解决方案:

    while (reader.Read())
                {
                    hasdata = true;
                    name_edit.Text = reader["Name"].ToString();
                    department_edit.Text = String.Empty;
                    department_edit.SelectedText = reader["Department"].ToString();
                    division_edit.Text = String.Empty;
                    division_edit.SelectedText = reader["Division"].ToString();
                }