当我尝试更改表单上用户控件的{name}属性时,会出现以下错误:
这是“ddlPriority”用户控件上的“selectedVal”属性
这是ddlPriority_Load函数
Scheduler.DAL.TableClass.Priority pri = new Scheduler.DAL.TableClass.Priority();
combxPriority.DataSource = pri.selectPriorities();
combxPriority.DisplayMember = "name";
combxPriority.ValueMember = "PriorityID";
Scheduler.DAL.TableClass.Settings set = new Scheduler.DAL.TableClass.Settings();
if (set.thisTable != null)
combxPriority.SelectedValue = set.thisTable.DefaultPriorityID;
ddlPriority用户控件只是一个组合框。
我该如何解决这个问题?
编辑:
以下是selectPriorities方法:
properties.cs
public static string DBConnection = ConfigurationSettings.AppSettings["DB_Connection"];
Priority.cs
public DataTable selectPriorities()
{
SqlConnection con = new SqlConnection(properties.DBConnection);
con.Open();
string sqlQuery = "select name, PriorityID from Priority";
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand(sqlQuery, con);
SqlDataReader read = cmd.ExecuteNonQuery();
dt.Load(read);
read.Close();
con.Close();
return dt;
}
答案 0 :(得分:1)
看起来combxPriority.SelectedValue
为null
(未选择任何行),以及combxPriority.SelectedValue.ToString()
抛出异常的原因。
在访问它之前,您必须确保combxPriority.SelectedValue
不为空。