我最近从VB转换了这段代码,如何才能正确调用组合框cmb_UserID
?
string strQuery = "";
try
{
var val = 1;
val = cmb_UserID.SelectedValue;
strQuery = "select *from tbl_category where category_id=" + val.ToString + "";
cmb_UserID.DataSource = c.loadToComboBox(strQuery);
cmb_UserID.ValueMember = c.loadToComboBox(strQuery).Columns["category_id"].ToString();
cmb_UserID.DisplayMember = c.loadToComboBox(strQuery).Columns["category_name"].ToString();
}
catch (Exception)
{
}
答案 0 :(得分:1)
由于val
分配,变量int
属于var val = 1
类型。 SelectedValue
属性的类型为object
,类型之间的差异会导致异常。
为了规避这一点,您需要明确地将SelectedValue
强制转换为int
val = (int)cmb_UserID.SelectedValue
更新: 如果你想使用Int32.TryParse:
var val = 1;
Int32.TryParse(cmb_UserID.SelectedValue.ToString(), out val);