我最近从 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)
{
}
变量val
由于var val = 1
赋值,是int
类型。 SelectedValue
属性是类型object
,类型之间的差异会导致给定的异常。
为了规避这一点,您需要显式地将SelectedValue
转换为int
val = (int)cmb_UserID.SelectedValue
更新:如果要改用 Int32.TryParse:
var val = 1;
Int32.TryParse(cmb_UserID.SelectedValue.ToString(), out val);