在组合框C#中我如何可以选择每个时间我单击组合框项目
问题描述:
另一个值它显示的EmpID在组合框C#中我如何可以选择每个时间我单击组合框项目
名单我要显示在组合框中EmployeeName但它会得到的EmpID
这里是我的代码
private void EmployeeTimecard_Load(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["CSPOSWare.Reports.Properties.Settings.chaplinConnectionString"].ConnectionString))
{
try
{
conn.Open();
using (SqlCommand cmd = new SqlCommand("Select (LastName + ', ' + FirstName) AS Employee, EmpID from Employee ", conn))
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
GrpEmpCBox.Items.Add(rdr["EmpID"].ToString());
}
}
}
catch { }
}
this.FormBorderStyle = FormBorderStyle.FixedSingle;
this.GrpEmpCBox.DropDownStyle = ComboBoxStyle.DropDownList;
chkAll.Checked = true;
}
This is where i get the employee name
This is where i want to get the empID from the Employee table
答
您正在将值读入您的组合框中;
GrpEmpCBox.Items.Add(rdr["EmpID"].ToString());
EmpID
应改为你创建Employee
字符串。
但是,您可能想要同时读取,显示名称和ID作为值。
答
使用如下:
while (rdr.Read())
{
ListItem comboItem = new ListItem();
comboItem.Text = rdr["Employee"].ToString();
comboItem.Value = rdr["EmpID"].ToString();
GrpEmpCBox.Items.Add(comboItem);
}
所以,你可以使用下面的代码从下拉值:
string selectedText = GrpEmpCBox.SelectedItem.ToString(); // which gives you the Employee
string selectedValue = GrpEmpCBox.SelectedValue;// gives you EmpID
智能选项绑定使用这样一个DataTable中的组合框:
string query = "Select (LastName + ', ' + FirstName) AS Employee, EmpID from Employee ";
SqlDataAdapter da = new SqlDataAdapter(query, conn);
conn.Open();
DataTable dt = new DataTable();
da.Fill(dt);
GrpEmpCBox.DisplayMember = "Employee";
GrpEmpCBox.ValueMember = "EmpID ";
GrpEmpCBox.DataSource = dt;
GrpEmpCBox.DataBind();
+0
私人字符串GetEmp() { return GrpEmpCBox.SelectedValue.ToString(); } 如果我使用SelectedValue,它会显示“一个未处理的类型为'System.NullReferenceException'的异常” –
答
假设empname是所需的员工姓名
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
GrpEmpCBox.Items.Add(rdr["EmpName"].ToString());
}
}
是的,我能做到这一点,但在这里我想要得到的数据表中的记录只有列的EmpID 这是我的问题.. –
好吧,那么你将需要向我们展示了一些表模式和示例数据,以便我们可以看到如何返回员工姓名。 – William