2

ここに画像の説明を入力

上記の理由と時間を表示するグリッドビューがあります。

私がやりたいことは次のとおりです。

  • 時間になったときに赤色を表示するにはBETWEEN 12:00:00 PM and 12:59:59 PM AND is Beginning of Day

  • 時間が経過したときに緑色を表示するにはBETWEEN 13:00:00 PM and 13:59:59 PM AND is LUNCH

列REASONで機能しています。

以下は私のコードです。注: e.Row.Cells[4] は列の理由、e.Row.Cells[5] は列の時間です。

protected void GridViewEmployee_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        //Works
        if (e.Row.Cells[4].Text == "Break")
        {
            e.Row.Cells[4].BackColor = Color.Red;
        }

        //Doesn't Work
        //if (e.Row.Cells[4].Text == "Beginning Of Day" && e.Row.Cells[5].Text > " 12:00:00 PM " && e.Row.Cells[5].Text < "12:59:59 PM")
        //{
        //    e.Row.Cells[4].BackColor = Color.Red;
        //}
    }
}
4

2 に答える 2

3

時間値を文字列と比較しています。したがって、このようなことを試して、<or>演算子を使用しているときは、両方の値が日時型でなければならないことを確認してください。

DateTime.Parse(e.Row.Cells[5].Text) > DateTime.Parse("12:00:00 PM ")
于 2013-04-03T18:18:34.777 に答える
0

やってみました:

    if(DateTime.Now > 12:00:00 && DateTime.Now < 13:00:00)
    {
      dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Red;
    }
于 2013-04-03T18:20:51.280 に答える