VB.NET如何在组合框中显示正确的数据

时间:2017-09-03 08:55:25

标签: .net vb.net

我有一个包含以下内容的组合框

2017-2018
2018-2019
2019-2020

我想要发生的是它必须根据特定的日期范围在组合框上显示正确的数据。例如:

如果日期范围是2018年3月30日之间的2017年6月1日 然后组合框应显示2017-2018

如果日期范围是2018年6月1日2019年3月30日之间 然后组合框应显示2018-2019

我该如何做这种方法?为此使用数据库更好还是硬编码?

1 个答案:

答案 0 :(得分:1)

试试这个:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim dtDate As Date
    Date.TryParse(TextBox1.Text, dtDate)
    ComboBox1.SelectedItem = DoDate(dtDate)
End Sub

Private Function DoDate(ByVal dtInputDate As Date) As String
    Dim intYear As Integer = dtInputDate.Year
    If dtInputDate >= New Date(intYear, 6, 1) And dtInputDate <= New Date(intYear, 12, 31) Then
        Return CStr(intYear) & "-" & CStr(intYear + 1)
    ElseIf dtInputDate >= New Date(intYear, 1, 1) And dtInputDate <= New Date(intYear, 3, 30) Then
        Return CStr(intYear - 1) & "-" & CStr(intYear)
    Else
        MsgBox("ERROR: Date must be between 1 Jan and 30 Mar, or 1 June to 31 Dec.")
        Return ""
    End If
End Function