0

在我的应用程序中,我尝试使用RowFilterSelect方法DataSet来显示用户在ComboBox. 有DataSet五列,因此我的项目有五个分别ComboBoxes填充了相同的列值DataSet。现在我正在尝试在 DataSet 中搜索用户选择的值并填充到 DataGridView 中。我尝试了以下方法:(不工作

dgvMain.DataSource = null;
dgvMain.DataSource = dsMainDoctors.Tables[0].Select("Name = '" + cmbDoctorName.Text +"'");

或者

dgvMain.DataSource = null;
dgvMain.DataSource = dsMainDoctors.Tables[0].DefaultView.RowFilter = "Name = '" + cmbDoctorName.Text + "'";

第一次尝试没有显示任何内容,但第二次尝试显示类似于下图的内容,而不是显示列。在这里,我尝试仅使用一列值进行搜索,但我需要使用三个不同的列进行搜索,DataSet如何做到这一点?

在此处输入图像描述

我知道我在代码中做错了什么。请建议我应该怎么做才能更正我的代码。请不要使用 linq,因为它受到我的主要成员的限制。但欢迎所有类型的答案。

4

1 回答 1

3

您可以尝试在过滤操作之后将默认视图分配给数据源

dgvMain.DataSource = null;
dsMainDoctors.Tables[0].DefaultView.RowFilter = "Name = '" + cmbDoctorName.Text + "'";
dgvMain.DataSource = dsMainDoctors.Tables[0].DefaultView;
于 2012-11-03T09:24:57.213 回答