我需要添加一个过滤器来按年龄过滤数据。 以下是我用于过滤电话和电话号码的代码。
收集/持有我的客户DOB的费用是" app.DOB"
请帮助我
Friend Overrides Function Filter() As String
Dim sb As New StringBuilder()
If (Not app.LandPhone.StartsWith("01")) And (Not app.LandPhone.StartsWith("02")) Then
sb.Append("Land phone must be present and start 01 or 02;")
End If
If (Not app.WorkPhone.StartsWith("01")) And (Not app.WorkPhone.StartsWith("02")) And (Not app.WorkPhone.StartsWith("08")) Then
sb.Append("Work phone must be present and start 01, 02 or 08;")
End If
If app.MobilePhone = String.Empty Then
sb.Append("Mobile phone must be present;")
End If
Return sb.ToString()
End Function
答案 0 :(得分:0)
如果DOb是datetime,那么DateDiff
函数将是有用的。它将像
if DateDiff(DateInterval.day,app.DOB,Date.Today)/365 > your filter value
''what you want to do
end if
注意:强> 现在只有我注意到你的评论是string.i这种情况下使用parseexact将它转换为日期,然后再使用dateiff函数
如果您的DOB列的格式是dd / MM / yyyy那么
Dim dt = DateTime.ParseExact(app.DOB, "dd/MM/yyyy", Nothing)
if DateDiff(DateInterval.day,dt,Date.Today)/365 > your filter value
'' what you want
end if
您可以根据网格格式更改格式: