Vb.net 比较特定列的所有行
我想将Vb.net 比较特定列的所有行,vb.net,Vb.net,我想将DataTable的datecolumn行与当前日期进行比较,并返回它是否与当前日期匹配。这可能会有所帮助(未测试,但应该可以使用)…此方法为您提供一个列表,其中包含符合条件的行 Private Shared Function ValidateDate(dataTable As DataTable) As Boolean Dim Currentdate As Date = Date.Now() Dim Rows As New List(Of String) Di
DataTable
的datecolumn行与当前日期进行比较,并返回它是否与当前日期匹配。这可能会有所帮助(未测试,但应该可以使用)…此方法为您提供一个列表,其中包含符合条件的行
Private Shared Function ValidateDate(dataTable As DataTable) As Boolean
Dim Currentdate As Date = Date.Now()
Dim Rows As New List(Of String)
Dim result As Boolean = True
For Each Row As DataRow In dataTable.Rows
If Not Currentdate Is Then
Next
Return result
End Functionhere
请注意,您在date
datatype中有时间,如果您没有明确给出时间,则时间为0:00:00。
(如果所有值A都是“默认0:00:00时间”的唯一日期,则应该没有问题)如果不是,则**如果日期和时间相同,则仅获取true
**
所以你应该用今天而不是日期。现在()。。每次调用Date.Now()
都会得到实际日期和实际时间。使用今天
可以获得实际日期和时间=0:00:00 代码:
私有共享函数ValidateDate(dataTable作为dataTable)作为布尔值
Dim Currentdate As Date = Today
Dim lst as New List(of DataRow)
For each row as DataRow in datatable.Rows
If CDate(row.Items(index or columname)) = currentdate Then
lst.Add(row)
Next
return lst
感谢您的回复。我使用此方法验证datecolumn中每一行的日期您的问题是什么?这里的OP似乎是新的@rory.ap,您确实有
编辑
权限,对吗?如何帮助OP解决问题,我知道这不是一个问题我想将datatable的datecolumn行与currentdate进行比较,如果它满足vb.net的条件,则返回true,但我相信您理解OP的问题<代码>我想将datatable的datecolumn行与currentdate进行比较
这对我来说似乎很清楚。什么条件?我有一个带有一些列的datatable。其中一列是日期列。我想用vb.net代码使用for循环将日期列的所有行与当前日期进行比较。Dim blnValid As Boolean=dataTable.rows.Cast(DataRow的).ToList().Where(Function(r)r(“columnname”)currentdate)。Any()
没有测试过这一点,但这是一个想法。DataRow
没有单元格的属性。。。它是项
。如果找到了,您将返回True
,但是如果下一行是False
,该怎么办。。。这个解决方案是完全错误的。单元格应该表示项目…我的错误是在DataGridView中思考。是的,我误解了这个问题。我以为他只是想知道行中某个地方是否至少有一个给定的日期……我理解,所有行
意味着每一行,而不仅仅是一行。是的,我知道,有时候在回答之前最好读两遍……我已经编辑了我的答案
Dim Currentdate As Date = Today
Dim result As Boolean = True
For Each row As DataRow In dataTable.Rows
If Not CDate(row.Item("ReportDate")) >= Currentdate Then
result = False
Exit For
End If
Next
Return result
End Function