如何检查日期时间值是否大于循环中的先前值

How to check if datetime value is greater than previous value in loop

我在这里使用基础设施控制。如何验证和检查当前的数据时间值是否大于以前的数据时间值。

在循环中我有 Dim datePicker As UltraDateTimeEditor = o 的列表所以我需要检查每个循环是否当前的日期选择器值大于前一个

要记住的一点...一些数据选择器值可能没有。所以我们不应该和那些比较。

 For Each o As Object In UltraPanel1.ClientArea.Controls
    If TypeOf (o) Is UltraDateTimeEditor Then
      Dim datePicker As UltraDateTimeEditor = o
      Dim datevalue As Object = datePicker.Value
    End If
 Next

您需要使用在循环外定义的变量,以便您可以在该变量中保存前一个值并将当前值与前一个值进行比较。并且在每次迭代结束时,先前的值应该用当前值更新,因为它将是下一次迭代的前一个值;以下代码将对您有所帮助:

Dim prevDatevalue As Object = Nothing
For Each o As Object In UltraPanel1.ClientArea.Controls
    If TypeOf (o) Is UltraDateTimeEditor Then
      Dim datePicker As UltraDateTimeEditor = o
      Dim datevalue As Object = datePicker.Value
      If prevDatevalue <> Nothing Then
         If prevDatevalue < datevalue Then
            ' Do something Previous value is Lesser
         Else
            ' Do something else Previous value is greater
         End If  
      End IF      
         prevDatevalue = datePicker.Value 
    End If
Next