我已经在这里填写了我的数据库中的信息,但我现在想要提取RTID
void FillCombo()
{
//FJERN IKKE DET HER, IT WORKS, DON'T FIX IT
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Alpha-KHMB;Integrated Security=True");
string sql = "SELECT* FROM ResourceType";
SqlCommand cmd = new SqlCommand(sql,con);
SqlDataReader myreader;
//FJERN IKKE DET HER, IT WORKS, DON'T FIX IT
try
{
con.Open();
myreader = cmd.ExecuteReader();
while (myreader.Read())
{
int RTID = myreader.GetInt32(0);
string sname = myreader.GetString(1);
Bx_RT.Items.Add(RTID + " " + sname);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
这是我到目前为止取出RTID的原因,但我不能因为它告诉我它是一个对象,我对如何解决这个问题感到茫然。
private void Btn_Sv_Click(object sender, RoutedEventArgs e)
{
string RTID = ((ComboBoxItem)Bx_RT.SelectedItem).Content.ToString();
CreateResource(RTID);
}
答案 0 :(得分:2)
您可以做的是从数据库获取数据时,可以将整个数据传递给combobox的DataSource属性。然后为ValueMember和DisplayMember属性分配相应的数据列名(例如Id和Name)以正确显示项目。
ComboBox1.ValueMember = "id";
ComboBox1.DisplayMember = "name";
ComboBox1.DataSource = dataTable;
在您的点击事件中,您可以获得组合框的Selectedvalue。这将返回所选项目的ValueMember。
ComboBox1.SelectedValue