使用datetimepicker搜索时遇到问题! [英] I have a problem when search with datetimepicker !
问题描述
嗨朋友们!
我在使用DateTimePicker1,DateTimePicker2,Textbox1在datagridview中搜索时遇到问题。
DateTimePicker1:DATE_FROM
DateTimePicker2 :DATE_TO
Textbox1:NUMBER_RECEIPT
我从01/01/2017选择DateTimePicker1和DateTimePicker2到2017年9月25日并显示:< br $> b $ b
| NUMBER_RECEIPT |日期|说明|
| 12 | 12/09/2017 |第14项|
| 12 | 12/09/2017 |第15项|
| 13 | 2017/09/09 |第23项|
| 14 | 25/09/2017 |第31项|
当我从2017年9月17日选择DateTimePicker1并且DateTimePicker2到2017年9月25日时显示:
| NUMBER_RECEIPT |日期|说明|
| 13 | 2017/09/09 |第23项|
| 14 | 25/09/2017 |第31项|
我在2017年9月17日至2017年9月25日选择日期后用 Textbox1 搜索我的问题: 12
| NUMBER_RECEIPT |日期|说明|
| 12 | 12/09/2017 |第14项|
| 12 | 12/09/2017 |项目15 |
NUMBER_RECEIPT 12不是从2017年9月17日到2017年9月25日。
我尝试了什么:
我尝试了不同的方式,但没有结果。
私有 Sub TextBox1_KeyDown( ByVal sender 作为 对象, ByVal e As System.Windows.Forms.KeyEventArgs)句柄 TextBox1.KeyDown
选择 案例 e.KeyCode
案例 Keys.Enter
BindingSource18.Filter = [NUMBER_RECEIPT] LIKE' &安培; TextBox1.Text& %'
结束 选择
结束 Sub
私人 Sub DateTimePicker1_ValueChanged( ByVal sender As System。 对象, ByVal e As System.EventArgs )句柄 DateTimePicker1.ValueChanged
Me .BindingSource18.Filter = DATE_FROM> ='& DateTimePicker1.Text& '和DATE_TO< ='& DateTimePicker2.Text& '
结束 Sub
私有 Sub DateTimePicker2_ValueChanged( ByVal sender 作为系统。对象, ByVal e As System.EventArgs)句柄 DateTimePicker2.ValueChanged
Me .BindingSource18.Filter = DATE_FROM> ='& DateTimePicker1.Text& '和DATE_TO< ='& DateTimePicker2.Text& '
结束 Sub
请帮帮我吗?谢谢:)
同一主题的另一个变种! :)
私人 Sub UpdateFilter()
Dim 部分作为 新 List( Of String )()
如果 不 字符串 .IsNullOrWhiteSpace(TextBox1.Text)然后
parts.Add( [NUMBER_RECEIPT] LIKE '& TextBox1.Text& %')
结束 如果
如果 DateTimePicker1 .Checked 然后
parts.Add( string .Format( [DATE_FROM]> =#{0:yyyy / MM / dd}#,DateTimePicker1.Value))
结束 如果
如果 DateTimePicker2.Checked 那么
parts.Add( string .Format( [DATE_FROM]< =#{0:yyyy / MM / dd}#,DateTimePicker2.Value))
结束 如果
如果 parts.Count = 0 然后
BindingSource18.Filter =
否则
BindingSource18.Filter = String .Join( AND,parts)
结束 如果
结束 Sub
私有 Sub FilterChanged(< span class =code-keyword> ByVal sender 作为 对象, ByVal e As EventArgs)句柄 TextBox1.KeyDown,DateTimePicker1。 ValueChanged,DateTimePicker2.ValueChanged
UpdateFilter()
结束 Sub
Hi friends!
I have a problem when I search in datagridview with DateTimePicker1, DateTimePicker2, Textbox1.
DateTimePicker1 : DATE_FROM
DateTimePicker2 : DATE_TO
Textbox1 : NUMBER_RECEIPT
I choose DateTimePicker1 from 01/01/2017 and DateTimePicker2 to 25/09/2017 and show:
| NUMBER_RECEIPT | DATE | DESCRIPTIONS |
| 12 | 12/09/2017 | Item 14 |
| 12 | 12/09/2017 | Item 15 |
| 13 | 17/09/2017 | Item 23 |
| 14 | 25/09/2017 | Item 31 |
When I choose DateTimePicker1 from 17/09/2017 and DateTimePicker2 to 25/09/2017 show:
| NUMBER_RECEIPT | DATE | DESCRIPTIONS |
| 13 | 17/09/2017 | Item 23 |
| 14 | 25/09/2017 | Item 31 |
My problem showed when I search with Textbox1 after choose date from 17/09/2017 to 25/09/2017: 12
| NUMBER_RECEIPT | DATE | DESCRIPTIONS |
| 12 | 12/09/2017 | Item 14 |
| 12 | 12/09/2017 | Item 15 |
NUMBER_RECEIPT 12 is not from 17/09/2017 to 25/09/2017 .
What I have tried:
I tried different way but without result.
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
Select Case e.KeyCode
Case Keys.Enter
BindingSource18.Filter = "[NUMBER_RECEIPT] LIKE '" & TextBox1.Text & "%'"
End Select
End Sub
Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged
Me.BindingSource18.Filter = "DATE_FROM >= '" & DateTimePicker1.Text & "' and DATE_TO <= '" & DateTimePicker2.Text & "'"
End Sub
Private Sub DateTimePicker2_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker2.ValueChanged
Me.BindingSource18.Filter = "DATE_FROM >= '" & DateTimePicker1.Text & "' and DATE_TO <= '" & DateTimePicker2.Text & "'"
End Sub
Please can you help me? THANKS :)
Another variation on the same theme! :)
Private Sub UpdateFilter() Dim parts As New List(Of String)() If Not String.IsNullOrWhiteSpace(TextBox1.Text) Then parts.Add("[NUMBER_RECEIPT] LIKE '" & TextBox1.Text & "%'") End If If DateTimePicker1.Checked Then parts.Add(string.Format("[DATE_FROM] >= #{0:yyyy/MM/dd}#", DateTimePicker1.Value)) End If If DateTimePicker2.Checked Then parts.Add(string.Format("[DATE_FROM] <= #{0:yyyy/MM/dd}#", DateTimePicker2.Value)) End If If parts.Count = 0 Then BindingSource18.Filter = "" Else BindingSource18.Filter = String.Join(" AND ", parts) End If End Sub Private Sub FilterChanged(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.KeyDown, DateTimePicker1.ValueChanged, DateTimePicker2.ValueChanged UpdateFilter() End Sub
这篇关于使用datetimepicker搜索时遇到问题!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!