У меня есть DataGridView (dataGridView1), что я заселить из базы данных с:vb.net DataGridView Фильтрация модифицированного источника данных
Me.DatagridView1.DataSource = DataTable1
Я затем добавить 2 колонки (Icon & Статус) в моем DataGridView один с значок и один с описанием в зависимости от значений, извлекаемых из DataTable1 (обычно ошибка, предупреждение и т. д.)
У меня есть drop down (DropDown1) со значениями «Все», «Ошибка», «Предупреждение» и т. д.
Я хочу отфильтровать свой DataGridView основываясь на выбранном значении в DropDown1. , например. Если выбрана «Ошибка», я буду показывать строки с «Ошибка» в столбце «Состояние». Я использую следующий код:
Private Sub DropDown1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DropDown1.SelectedIndexChanged
Dim dt As New DataTable()
dt = TryCast(DatagridView1.DataSource, DataTable)
If dt IsNot Nothing Then
dt.DefaultView.RowFilter = String.Format("Status Like '*" & Trim(Me.DropDown1.Text.ToString) & "*'")
End If
End Sub
Теперь у меня есть 2 вопроса:
- Я имею ошибку говоря, что он не признает статус колонки (что является нормальным, так как при отладке, я вижу, что DataGridView1.DataSource содержит только исходные данные из базы данных, а не столбцы, которые я добавил). Как получить все мои столбцы?
- Как удалить все фильтры (если выбрано «Все»)?
Если вы считаете, что ответ, который размещает пользователь, полезен, лучше ответить на этот вопрос. Это означает, что ответ полезен. Это делает пост более полезным для будущих читателей. –
Я не ** Burger **: P – theBugger