【发布时间】:2017-03-07 18:45:02
【问题描述】:
Private Sub comboBoxStudentID_SelectedIndexChanged(sender As Object, e As EventArgs) Handles comboBoxStudentID.SelectedIndexChanged
For Each dr As DataGridViewRow In Me.dataGridViewStudent.Rows
If dr.Cells(0).Value.ToString.Contains(comboBoxStudentID.Text) Then dr.Visible = True Else dr.Visible = False
Next
End Sub
我创建了这个方法来检查和显示包含与从 comboBoxStudentID 中选择的相同学生 ID 的行,问题是它只检查 DataGridView 的第一行。如果学生 ID 匹配,如何让它检查所有行?
【问题讨论】:
-
您能提供更多信息吗?代码看起来不错。
-
@ProGrammer 当我从 comboBoxStudentID 中选择学生 ID 1 时,datagridview 将显示包含学生 ID 1 的行。但是当我选择其他学生 ID 时它不起作用,我不知道为什么。
-
您是否检查过文本仅限于 ID
"2"而不是"2 "或类似名称? -
@ProGrammer 你能详细说明一下这个想法,因为我是 VB 新手。我该怎么做?我的代码是否遗漏了什么?
-
@user3219333 ProGrammer 所说的是做
Dim rowValue As String = dr.Cells(0).Value.ToString和Dim studentId As String = comboBoxStudentID.Text,这样您就可以清楚地识别这两个值。这在调试以检查您的值时会很方便。那么你的 if 语句将是If rowValue.Contains(studentId)...
标签: vb.net datagridview