0

システム時刻を列 1 の datetime 変数と比較し、別の色の背景を返す VB 関数を作成する際に支援が必要です。条件はこちら…

  • ScheduledTime が 0 ~ 15 分遅れている場合、背景の行の色は赤
  • ScheduledTime が 15 分~30 分遅れている場合、背景の行の色は黄色
  • scheduleTime が 30 分~2 時間遅れている場合、背景の行の色は緑

行レンダリング イベント:

 Row_Rendered();

 DateTime systemTime = DateTime.Now();
 DateTime fieldTime = SCHD_DTM.CurrentValue;
 DateTime result As Integer = DateTime.Compare(fieldTime,systemTime).TotalMinutes

 if result <= 0.25 Then 
     RowATTrs("style") = "background-color:Red";

 else if result > 0.25 & result <- 0.5 Then 
     RowATTrs("style") = "background-color:Yellow";

 else if result > 0.5 & result <= 2 Then
     RowATTrs("style") = "background-color:Green";

 End If

これは私が持っていたもので、応答がありません...

4

2 に答える 2

1

「応答がない」というのは、エラーや望ましくない動作の適切な説明ではありません。ただし、コードにC#とVB.NETを混在させています。もちろん、それはコンパイルされません。

しかし、これは次のようになります。

Dim systemTime As date = Date.Now
Dim fieldTime As Date = SCHD_DTM.CurrentValue
Dim result As Double= (fieldTime - systemTime).TotalMinutes

If result <= 0.25 Then
    RowATTrs("style") = "background-color:Red"
ElseIf result > 0.25 & result < -0.5 Then
    RowATTrs("style") = "background-color:Yellow"
ElseIf result > 0.5 & result <= 2 Then
    RowATTrs("style") = "background-color:Green"
End If

ただし、が。fieldTimeよりも低いと想定されるかどうかはわかりませんDate.Now。次に、の変数を交換します(fieldTime - systemTime)

于 2013-01-15T15:54:55.180 に答える
1

datediff 関数を使用して、必要なものを見つけることができます。

DateDiff(DateInterval.Minute, systemTime, fieldTime)

2 つの日時の間の分数を示す long が返されます。

于 2013-01-15T16:20:57.170 に答える