我将 Combobox1 displaymember 中的所有用户名作为用户名,并将 Id 作为值成员。
现在,当我在 Combobox1 中选择一个项目时,我启用了一个具有文本框、3 组合框和更新按钮的组合框。考虑到组合框 1 的值成员获取特定用户并尝试在组框中显示这些详细信息(文本框包含用户名,3 个组合框具有部门名称角色详细信息)。我的数据库表具有外键(部门、名称和角色)。它只返回 3 个组合框值成员而不是显示成员(文本)。我如何链接这些拖链,以便在 Combobox1 中选择用户名时,相应的值应该出现在文本框以及 3 个组合框中。
这是我的代码:
private void cmbBoxUpdateEmployee_SelectedIndexChanged_1(object sender, EventArgs e)
{
changecmbBoxValue();
} panelupdateEmployee.Visible = true;
public void changecmbBoxValue()
{
try
{
textBoxUpdateEmployee.Enabled = true;
cmbBoxUpdateEmpRoleID.Enabled = true;
cmbBoxUpdateEmpDepartment.Enabled = true;
cmbBoxUpdateEmpDesignation.Enabled = true;
dbobj.Open();
DataSet ds = new DataSet();
if (!string.IsNullOrEmpty(cmbBoxUpdateEmployee.SelectedValue.ToString()))
{
string cmd = "select Name,RoleId,DepartmentId,DesignationId from tblEmployee where Name='" + cmbBoxUpdateEmployee.SelectedValue+ "'";
//I get system.Datarow conversion not done error.
ds = dbobj.ExecuteDataset(cmd);
if ((ds.Tables[0].Rows.Count) > 0)
{
textBoxUpdateEmployee.Text = Convert.ToString(ds.Tables[0].Rows[0][0].ToString());
cmbBoxUpdateEmpRoleID.SelectedIndex = Convert.ToInt32(ds.Tables[0].Rows[0][1].ToString());
cmbBoxUpdateEmpDepartment.SelectedIndex = Convert.ToInt32(ds.Tables[0].Rows[0][2].ToString());
cmbBoxUpdateEmpDesignation.SelectedIndex = Convert.ToInt32(ds.Tables[0].Rows[0][3].ToString());
lblupdatedelete.Text = " Update Successfully";
EmployeeUpdateInfo();
textBoxUpdateEmployee.Clear();
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error!!" + ex.Message);
}
finally
{
dbobj.Close();
}
}
public void RoleData()
{
DataSet ds = new DataSet();
string query = "select [Id],[Name] from tbl where IsDeleted=0";
ds = dbobj.ExecuteDataset(query);
cmbBoxUpdateRole.DataSource = ds.Tables["tablename"];
cmbBoxUpdateRole.DisplayMember = "Name";
cmbBoxUpdateRole.ValueMember = "Id";
cmbBoxDeleteRole.DataSource = ds.Tables["tablename"];
cmbBoxDeleteRole.DisplayMember = "Name";
cmbBoxDeleteRole.ValueMember = "Id";
}//role combobox..for department,designation also i did the same way to display in 3 comboboxes
我怎样才能做到这一点?任何的想法