2017-02-12 2 views
-1

Мне нужно найти DataGridView по дате. Если я введу 2/11/2017 в текстовое поле, я хочу, чтобы сетка отображала мне строки, содержащие эту дату. Столбец Date в моем DataGridView имеет имя AppointmentDate и создан в SQL Server. Тип этого столбца - только дата.Поиск с помощью текстового поля VB

Я видел это, но я использую модель Entity Framework, я не знаю, как ее реализовать.

dgvPacientet.CurrentCell = Nothing 
    Dim found As Boolean = False 
    For Each row As DataGridViewRow In dgvPacientet.Rows 
     row.Visible = row.Cells("Dt_terminit").Value = txtData.Text 
     If row.Visible Then found = True 
    Next 
    If Not found Then MsgBox("Item not found")` 

ответ

-1

Просто показать или скрыть строки, содержащие нужный текст.

DataGridView1.CurrentCell = Nothing 
Dim found as Boolean = false 
For Each row As DataGridViewRow In DataGridView1.Rows 
    Row.Visible = Not IsDBNull(row.Cells("DT_Terminit").Value) andalso row.Cells("DT_Terminit").Value = TextBox5.Text 
    If Row.Visible then found = true 
Next 
If Not found Then MsgBox("Item not found") 

Однако вам действительно нужно, чтобы разобрать, что текстовое поле, чтобы убедиться, что это дата первого и, если эта клетка содержит истинную дату, вам нужно преобразовать тест на сегодняшний день.

Dim DT As Date 
If Not Date.TryParse(TextBox5.Text, DT) Then 
    MsgBox("Please enter a date") '<-- remove this line if searching on the fly... (as you enter text) 
    Exit Sub 
End If 

DataGridView1.CurrentCell = Nothing 

Dim found As Boolean = False 
For Each row As DataGridViewRow In DataGridView1.Rows 
    Row.Visible = Not IsDBNull(row.Cells("DT_Terminit").Value) andalso row.Cells("DT_Terminit").Value =DT 
    If row.Visible Then found = True 
Next 
If Not found Then MsgBox("Item not found") 
+0

он говорит, что строка, связанная с положением валютного менеджера, не может быть сделана невидимой. – Rinor

+0

Вам, вероятно, нужно сначала очистить текущую ячейку ... см. Обновленный код. –

+0

это не позволяет мне написать дату. Я начинаю вводить дату, и как только я вхожу всего лишь в 2, мне говорит, пожалуйста, введите дату. – Rinor