combobox中绑定的数据不能显示 后边给集合添加元素以后,ComboBox界面没有更新而已; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 List<Grade> gradelist= gradeService.getAllGrades(); this.cbxGrade.DataSource = gradelist; //指定数据源,进行第1次绑定,默认DisplayMember和ValueMember 为空。// gradelist.Add(new Grade() { GradeId = -1, GradeName = "全部" });//此句放在此处可以在cbx中显示 this.cbxGrade.DisplayMember = "GradeName"; //修改DisplayMember 为"GradeName",进行第2次绑定 this.cbxGrade.ValueMember = "GradeId"; //修改ValueMember 为"GradeId",进行第3次绑定 gradelist.Add(new Grade() { GradeId = -1, GradeName = "全部" });//放在此处就不能显示出 "全部"看看我加的注释,你就知道了,你这个代码,导致程序计算了3次绑定!!可见是多么的浪费,同时,如果对数据源有修改,在最后一次绑定之前,那么都可以看到效果,而你放在最后在修改数据源,自然就看不到效果了,因为后面已经没有会导致重新计算绑定的代码了。建议修改下顺序,先指定DisplayMember 和ValueMember ,再指定数据源,这样可避免多次对非空数据源进行绑定运算。修改后代码:List<Grade> gradelist= gradeService.getAllGrades(); gradelist.Add(new Grade() { GradeId = -1, GradeName = "全部" }); this.cbxGrade.DisplayMember = "GradeName"; this.cbxGrade.ValueMember = "GradeId"; this.cbxGrade.DataSource = gradelist; List<Grade> gradelist= gradeService.getAllGrades(); gradelist.Add(new Grade() { GradeId = -1, GradeName = "全部" }); this.cbxGrade.DisplayMember = "GradeName"; this.cbxGrade.ValueMember = "GradeId"; this.cbxGrade.DataSource = gradelist;灰常感谢! winform DataGridView 大数据量 和 虚拟模式实例。 关于打印数据翻页的问题 Teechart绘图坐标问题C# 3小时5美元的广告歼击机~ 文件读写中,这里能立刻释放嘛?代码中间那 【求助帖】异步线程与 System.Windows.Forms.Timer的问题 如何将DATAGRID里的数据另存为CSV文件保存到本地? BinaryReader.ReadString() 方法一次读取多少字符啊? 在VB中有EXIT SUB中途可退出过程,在C#中怎么办呢? 大神救助 js问题 C#调用exe时遇到的文件操作问题 看了一个委托和事件经典教学后 有点疑问
List<Grade> gradelist= gradeService.getAllGrades();
this.cbxGrade.DataSource = gradelist; //指定数据源,进行第1次绑定,默认DisplayMember和ValueMember 为空。
// gradelist.Add(new Grade() { GradeId = -1, GradeName = "全部" });//此句放在此处可以在cbx中显示
this.cbxGrade.DisplayMember = "GradeName"; //修改DisplayMember 为"GradeName",进行第2次绑定
this.cbxGrade.ValueMember = "GradeId"; //修改ValueMember 为"GradeId",进行第3次绑定
gradelist.Add(new Grade() { GradeId = -1, GradeName = "全部" });//放在此处就不能显示出 "全部"
看看我加的注释,你就知道了,你这个代码,导致程序计算了3次绑定!!可见是多么的浪费,同时,如果对数据源有修改,在最后一次绑定之前,那么都可以看到效果,而你放在最后在修改数据源,自然就看不到效果了,因为后面已经没有会导致重新计算绑定的代码了。建议修改下顺序,先指定DisplayMember 和ValueMember ,再指定数据源,这样可避免多次对非空数据源进行绑定运算。修改后代码:
List<Grade> gradelist= gradeService.getAllGrades();
gradelist.Add(new Grade() { GradeId = -1, GradeName = "全部" });
this.cbxGrade.DisplayMember = "GradeName";
this.cbxGrade.ValueMember = "GradeId";
this.cbxGrade.DataSource = gradelist;
List<Grade> gradelist= gradeService.getAllGrades();
gradelist.Add(new Grade() { GradeId = -1, GradeName = "全部" });
this.cbxGrade.DisplayMember = "GradeName";
this.cbxGrade.ValueMember = "GradeId";
this.cbxGrade.DataSource = gradelist;
灰常感谢!