我想实现的功能是这样的:将表T_Course的内容绑定到COMBOBOX控件cb_curcourse,来选择当前的课程,课程名显示在控件中,当选择发生改变的时候,触发cb_curcourse_SelectedValueChanged(object sender, EventArgs e)事件,以获取当前课程的课程号,代码如下:
#region 当前课程数据绑定
private void cb_curcourse_BindData()
{
string sqltext = "select * from T_Course order by PK_Course";
cb_curcourse.DataSource = DbHelperSQL.Query(sqltext).Tables[0];
cb_curcourse.DisplayMember = DbHelperSQL.Query(sqltext).Tables[0].Columns[1].ToString();
cb_curcourse.ValueMember = DbHelperSQL.Query(sqltext).Tables[0].Columns[0].ToString();
}
#endregion
private void cb_curcourse_SelectedValueChanged(object sender, EventArgs e)
{
if (cb_curcourse.SelectedIndex != -1)
i =Int32.Parse( cb_curcourse.SelectedValue.ToString());//课程号
}
原本按照道理来说,i 就是想得到的课程号,可是当我这样做的时候,红色表示的那行代码报了一个错,“输入字符串的格式不正确”,我是百思不得其解,因为我在另外一个模块里面是这样做的,但是那是很早以前做的,当时具体的操作现在忘记了,我刚才是几乎疯掉了,尝试了很多种调错的方法,还是不行,后来对一前的那个模块的UserConfig.Designer.cs与现在的CurrentCourse.Designer.cs进行了比较,原来有这两个地方不一样:
cb_curcourse.DisplayMember =“course_name” ;
cb_curcourse.ValueMember = “pk_course”;
这两个属性在CurrentCourse.Designer.cs没有设置,但是我还是没有搞明白,为什么我在代码里面设置了这两个属性,却没有真正的起作用呢?请朋友们帮我解答,谢谢!