Я хочу, чтобы отображался MessageBox, а не состояние фильтра gridview, если код не найден.
Dim source1 As New BindingSource()
Private Sub TextBox2_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles TextBox2.KeyDown
If TextBox2.Text = "" Then
source1.Filter = ""
Me.DataGridView1.Refresh()
Else
If e.KeyCode = Keys.Enter Then
source1.Filter = "CODE like '' + '" & TextBox2.Text & "' + '' "
Me.DataGridView1.Refresh()
End If
End If
End Sub
@Hursey, да действительно, а если не подходит или не соблюдается, то gridview - это не состояние
Так поможет ли свойство BindingSource.Count? Использовать это, чтобы сообщить вам, если записи не видны, а затем показать окно сообщения?
@Hursey, If source1.Count <= 0 Then MsgBox("No Result Found!", MsgBoxStyle.Exclamation) End If
Я пытался использовать этот код, но окно сообщений появилось, но осталось в состоянии фильтра.
@ Джек после запроса окна сообщения, что вы хотите дальше? Вы хотите очистить фильтр источника1?
@TheCoolCat, да, сразу после окна сообщения, затем очистите фильтр и очистите текстовое поле.
Добавьте еще один if statement
внутри else, затем проверьте, есть ли у source1
строки, если строки <= 0, затем очистите фильтр и текстовое поле.
ОБНОВЛЕНО
Dim source1 As New BindingSource()
Private Sub TextBox2_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles TextBox2.KeyDown
If TextBox2.Text = "" Then
source1.Filter = ""
Me.DataGridView1.Refresh()
Else
If e.KeyCode = Keys.Enter Then
source1.Filter = "CODE like '' + '" & TextBox2.Text & "' + '' "
' If Else Statement to determine the count of your bindingsource
' Check the results, if result is less than or equal to 0
' then prompt messagebox and clear the source filter
If source1.count <= 0
source1.Filter = ""
TextBox2.Clear()
MsgBox("No Result Found!", MsgBoxStyle.Exclamation)
End If
Me.DataGridView1.Refresh()
End If
End If
End Sub
Я попробовал код от вас, но он не работает
@Jack, попробуй проверить еще раз, я обновил код
ваш код идет так, как я хочу и отлично
The expression contains an invalid string constant: ''' + '' .
У меня небольшая ошибка, потому что я пытался ввести '
или апостроф. как решение?. ошибка кода строки source1.Filter = "CODE like '' + '" & TextBox2.Text & "' + '' "
@Джек, хорошо, дай мне проверить
Просто для уточнения. Вы хотите, чтобы окно сообщения появлялось, если ни одна запись не соответствует критериям фильтра?