使用日历过滤数据网格
Filter datagrid with calendar
我使用带有日期格式的行列的数据网格。
这是数据网格创建代码
dg_datos.Columns.Add("tarea", "Tarea")
dg_datos.Columns.Add("horas", "Horas")
dg_datos.Columns.Add("descripcion", "Descripcion")
dg_datos.Columns.Add("fecha", "Fecha")
dg_datos.Columns("fecha").DefaultCellStyle.Format = "dd/MM/yyyy"
dg_datos.Rows.Add("Ada Lovelace", "1", "desc.1", "10/11/2002")
dg_datos.Rows.Add("Rafael Nadal", "1.4", "desc.2", "11/11/1822")
dg_datos.Rows.Add("Lewis Hamilton", "0.4", "desc.3", "19/11/1978")
dg_datos.Rows.Add("Charles Leclerc", "5", "desc.4", "02/01/1992")
dg_datos.Rows.Add("HOLA HOLA", "5", "desc.5", "20/04/2022 0:00:00")
Dim table As New DataTable
BindingSource1.DataSource = table
dg_datos.DataSource = BindingSource1
Private Sub Calendario_DateSelected(sender As Object, e As DateRangeEventArgs) Handles calendario.DateSelected
BindingSource1.Filter = String.Format("fecha = #{0:M/dd/yyyy}#", calendario.SelectionStart)
End Sub
我不知道为什么这不起作用
我决定只 post 一个答案以避免进一步的痛苦,尽管不能保证你不会做答案中没有的事情。无论如何,您应该像这样绑定数据:
Dim table As New DataTable
Using adapter As New SqlDataAdapter(query, connectionString)
adapter.Fill(table)
End Using
BindingSource1.DataSource = table
DataGridView1.DataSource = BindingSource1
然后你就按照我在评论中反复告诉你的那样过滤数据:
Private Sub Calendario_DateSelected(sender As Object, e As DateRangeEventArgs) Handles calendario.DateSelected
BindingSource1.Filter = String.Format("fecha = #{0:M/dd/yyyy}#", calendario.SelectionStart)
End Sub
我使用带有日期格式的行列的数据网格。
这是数据网格创建代码
dg_datos.Columns.Add("tarea", "Tarea")
dg_datos.Columns.Add("horas", "Horas")
dg_datos.Columns.Add("descripcion", "Descripcion")
dg_datos.Columns.Add("fecha", "Fecha")
dg_datos.Columns("fecha").DefaultCellStyle.Format = "dd/MM/yyyy"
dg_datos.Rows.Add("Ada Lovelace", "1", "desc.1", "10/11/2002")
dg_datos.Rows.Add("Rafael Nadal", "1.4", "desc.2", "11/11/1822")
dg_datos.Rows.Add("Lewis Hamilton", "0.4", "desc.3", "19/11/1978")
dg_datos.Rows.Add("Charles Leclerc", "5", "desc.4", "02/01/1992")
dg_datos.Rows.Add("HOLA HOLA", "5", "desc.5", "20/04/2022 0:00:00")
Dim table As New DataTable
BindingSource1.DataSource = table
dg_datos.DataSource = BindingSource1
Private Sub Calendario_DateSelected(sender As Object, e As DateRangeEventArgs) Handles calendario.DateSelected
BindingSource1.Filter = String.Format("fecha = #{0:M/dd/yyyy}#", calendario.SelectionStart)
End Sub
我不知道为什么这不起作用
我决定只 post 一个答案以避免进一步的痛苦,尽管不能保证你不会做答案中没有的事情。无论如何,您应该像这样绑定数据:
Dim table As New DataTable
Using adapter As New SqlDataAdapter(query, connectionString)
adapter.Fill(table)
End Using
BindingSource1.DataSource = table
DataGridView1.DataSource = BindingSource1
然后你就按照我在评论中反复告诉你的那样过滤数据:
Private Sub Calendario_DateSelected(sender As Object, e As DateRangeEventArgs) Handles calendario.DateSelected
BindingSource1.Filter = String.Format("fecha = #{0:M/dd/yyyy}#", calendario.SelectionStart)
End Sub