我在Form
中有一个Table1
和一个本地数据库以及DataGridView
。我还有2个DatetimePickers
和一个按钮。
Date
列定义为DateTime
数据类型。
如何按DataGridView
?
button1
中两个日期之间的记录
我想用DataGridView Task
- >这样做Add Query...
- > Query Builder...
如果这不简单,欢迎任何解决方案。
答案 0 :(得分:3)
这是一个解决方案(由我和谷歌搜索)。
这是一种简单的方式。
在DataGridView
- > Add Query...
- > Query Builder..
。
在Date
单元格中的Filter
列(或其他任何内容)中写入:BETWEEN @ Date1 AND @ Date2。
单击“确定”,然后再次单击“确定”。
在Form
区域,您现在在表单标题区域下面看到一个带有2个文本框的新行。首先是Date1
,第二个是Date2
。文本框区域后面是一个名为Fillby
的按钮。
将Date1,Date2和Fillby的名称从属性更改为您喜欢的任何内容,例如来自: - 收件人: - 搜索。
另一种方法更难实现。
首先在buttons
区域放置2 Timepickers
和2 Form
。
DataGridView
中的下一个 - > Add Query...
- > Query Builder..
。
在Date
单元格中的Filter
列(或其他任何内容)中写入:BETWEEN @ Date1 AND @ Date2。
单击“确定”,然后再次单击“确定”。
在Form
的代码视图区域中粘贴第一个按钮(Button1)的代码:
Public Function GetFromDate(ByVal value As DateTime) As DateTime
Return New DateTime(value.Year, value.Month, value.Day, 0, 0, 0, 0)
End Function
Public Function GetToDate(ByVal value As DateTime) As DateTime
Return New DateTime(value.Year, value.Month, value.Day, 23, 59, 59, 999)
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim BeginningDateTime As Date = GetFromDate(DateTimePicker1.Value)
Dim EndingDateTime As Date = GetToDate(DateTimePicker2.Value)
Try
Me.Table2TableAdapter.FillBy(Me.Database1DataSet1.Table2, New System.Nullable(Of Date)(CType(BeginningDateTime, Date)), New System.Nullable(Of Date)(CType(EndingDateTime, Date)))
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
End Sub
接着是第二个Button(Button2)的代码:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Table2TableAdapter.Fill(Me.Database1DataSet1.Table2)
End Sub
你必须改变:
1)Table2TableAdapter
在你的表适配器中。
2)Database1DataSet1
在您的数据库数据集中。
3)Table2
在你的表格中。
如果您的数据库存在差异,则代码FillBy
,DateTimePicker1
,DateTimePicker2
必须更改。
有关代码的更多格式,您可以从查询生成器中查看代码。 它看起来像:
Private Sub FillByToolStripButton_Click...
在那里你可以找到所有信息来改变上面的代码。
毕竟你可以删除这段代码(Private Sub FillByToolStripButton_Click...
)。
这就是我找到的所有内容,我解决了在两个日期之间搜索的问题。
答案 1 :(得分:1)
最简单,最简单的方法......
Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button1.Click
'Filter the Connections Date wise
Me.TblUserBindingSource.Filter = "doj >= '" & DateTimePicker1.Value & "' and doj <= '" & DateTimePicker2.Value & "'"
结束子