我有以下情况让我头疼一段时间。 WinForms应用程序,其中包含显示学生详细信息的表单。 在表格中,我们有学生姓名,作为主题的数学和为该特定学生分配给数学科目的教授。
教授领域是一个组合框,显示所有数学教授。现在一些数学教授已退休,我们不想在下拉列表中首先列出它们,除非特定的教授是分配给当前学生的教授。
数据源的分配如下:
myDataTable.DefaultView.RowFilter = "isRetired = false";
myCombobox.DataSource = myDataTable.DefaultView;
在下面的某处,数据绑定是这样完成的:
myCombobox.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue",...
如何做到这一点? 基本上,问题是:如何在组合框的当前DataSource对象中添加一条也使用DataBinding的记录? 我尝试使用Binding.Format事件来检查数据库中的值(e.value)是否存在于我当前的DataSource中,如果不存在,我尝试添加它,但它根本不起作用。我找不到简单的方法将这一行添加到我的组合框的当前数据源中。
当我说它不起作用时,我的意思是我只会让那些没有退休的数学教授与RowFilter
属性相对应。
我希望看到的是该特定学生,即使该教授目前已退休,他(教授)也需要在此下拉菜单中列出并被选中。但是,不应该列出其他退休教授,只列出活跃的教授。