2015-01-07 4 views
0

최대한 명확하게 설명하려고합니다.C# datagridview 모든 행의 셀 값을 비교합니다.

나는 datagridview가 있습니다. 3 행 7 셀 있습니다. 7 번째 셀에는 DateTimePicker 값이 저장됩니다. 나는 모든 행의 7 번째 셀의 값을 날짜와 비교하려고한다. 7 번째 셀의 날짜 값이 비교할 날짜보다 높으면 행을 붉은 색으로 채 웁니다.

내가 여기까지 갔다 : 당신이 좋아 비교할 수

foreach(DataGridViewRow r in dataGridView1.Rows) 
{ 
    if(dont know what to type here) 
     { 
     r.DefaultCellStyle.BackColor = Color.Red; 
     } 
} 

답변

1

당신은 다음 DateTime에 캐스팅/7 셀 Value을 추출하고 변환해야합니다 : 를 (기억 세포가 0을 기반으로, 그래서 7 세포) r.Cells[6]에있을 것

DateTime yourCompareDate = DateTime.Now; 
foreach (DataGridViewRow r in dataGridView1.Rows) 
{ 
    DateTime cellValue7 = Convert.ToDateTime(r.Cells[6].Value); //Convert/Cast value to date 
    if(cellValue7 > yourCompareDate) 
    { 
     r.DefaultCellStyle.BackColor = Color.Red; 
    } 
} 
0

이 시도 :

var compareDate = DateTime.Now; //or whatever date you want 
foreach(DataGridViewRow r in dataGridView1.Rows) 
    { 
     var cellDate = Convert.TodateTime(r.Cells[6].Value); 
     if (cellDate > compareDate) r.DefaultCellStyle.BackColor = Color.Red;  
    } 
0
 DateTime dtValue = DateTime.Now; // You Date Time Value 
     foreach (DataGridViewRow r in dataGridView1.Rows) 
     { 
      if ((DateTime)r.Cells[6].Value > dtValue) 
      { 
       r.DefaultCellStyle.BackColor = System.Drawing.Color.Red; 
      } 
     } 
+0

이것은 일반적인 생각이지만 자세한 내용을 입력하십시오. 그 말은 그 값보다 높은 DateTimes를 찾는 것에 대한 질문이 있다는 것을 명심해야합니다. – ryanyuyu

관련 문제