我使用下面的代码,但它没有在文本框中显示名称。\
private void AllotLeaves_Load(object sender, EventArgs e)
{
display();
}
private void display()
{
SqlConnection conn = new SqlConnection(@"Data Source=.......");
conn.Open();
SqlDataAdapter ad = new SqlDataAdapter("select *from Emp_Details", conn);
DataSet ds = new DataSet();
ad.Fill(ds, "Emp_Details");
cballotid.DataSource = ds.Tables["Emp_Details"].DefaultView;
cballotid.DisplayMember = "ID";
cballotid.ValueMember = "ID";
}
private void cballotid_SelectedIndexChanged(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(@"Data Source=......");
conn.Open();
SqlCommand command = new SqlCommand("select Name from Emp_Details where ID=@ID", conn);
command.Parameters.AddWithValue("@ID", cballotid.Text);
Object temp = command.ExecuteScalar(); // this returns the first value of the select statement.
if (temp != null)
txtallotname.Text = temp.ToString();
conn.Close();
}
答案 0 :(得分:1)
试试这个
cballotid.DisplayMember = "Name";
cballotid.ValueMember = "ID";
cballotid.BindingContext = this.BindingContext;
答案 1 :(得分:0)
你必须改变这个
cballotid.DisplayMember = "ID";
cballotid.ValueMember = "ID";
到
cballotid.DisplayMember = "name of field youd like to display";
cballotid.ValueMember = "ID";
答案 2 :(得分:0)
如下所示更改此行: -
command.Parameters.AddWithValue("@ID", cballotid.SelectedValue);