2016-06-08 2 views
2

여기에서 Infragistics 컨트롤을 사용하고 있습니다. 현재의 datatime 값이 이전 datatime 값보다 큰지 확인하고 확인하는 방법. 내가 Dim datePicker As UltraDateTimeEditor = o의 목록을 가지고 루프에서 날짜 시간 값이 루프의 이전 값보다 큰지 확인하는 방법

그래서 현재 날짜 선택기 값 ...을 datapicker 값의 일부가 아무것도하지 않을 수 있습니다 기억해야 할 더 큰

일 이전에 비해 포인트 인 경우 모든 루프를 확인해야합니다. 그래서 우리는 그것들과 비교해서는 안됩니다.

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 
+0

턴 옵션 "이전"에 대한 또 다른 호기심 개념 – Codexer

+0

... 것보다는 아마 몇 가지 변화 자세한 내용을 볼 수 있습니다. 루프에서 처음 튀어 나오기 때문에 나중에 "이전"값을 가져야한다는 의미는 아닙니다. 3 인 경우 올바른 날짜를 테스트하는 것은 단지 2 개의 If 문입니다. – Plutonix

답변

2

이전 값을 해당 변수에 유지하고 이전 값과 비교할 수 있도록 루프 외부에서 정의 된 변수를 사용해야합니다. 각 반복의 끝에서 이전 값은 다음 반복에 대한 이전 값이 될 것이므로 현재 값으로 업데이트해야합니다. 다음 코드는 당신을 도울 것입니다 : 당신에 엄격한

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 
+0

VB에는 'Null'이 없습니다. 아마도 Nothing을 의미할까요? – theB

+0

@theB : 나를 고쳐 주셔서 고마워요. 내 대답을 향상시키는 데 도움이됩니다. 나는 대답을 업데이트했습니다 –

+0

@ 운이 좋은 당신은 완벽합니다! – user1030181

관련 문제