Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 比较特定列的所有行_Vb.net - Fatal编程技术网

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