D-Day
오늘날짜를 기준으로, 지정된 날짜 이전의 데이터를 삭제.. 등등의 작업을 위한것..
======================================================================================
사용: datagridview, combobox 사용,
DataSet 및 Xml 파일 사용
======================================================================================
// d-day function
private void SetClearDDay(int nDay)
{
// default color = white.
Color cBackcolor = Color.White;
// 출력할 기본 날짜
int nDateBase = 0;
// 날짜 처리 d-day
int nDateDDay = 0;
StringBuilder szbDate = new StringBuilder(32);
// 현재 날짜를 구한 후 d-day 날짜만큼 제외한다.
// 01234567890123456789012 (10번째위치부터 22번째까지 모두 제거)
// 2012-07-09 13:10:11.111
szbDate.Append(DateTime.Today.AddDays(-1 * nDay).ToString());
szbDate.Remove(10, szbDate.Length - 10);
nDateDDay = Convert.ToInt32(szbDate.ToString().Replace("-", ""));
// Data grid 내용을 모두 지운다.
dataGridView_history.Rows.Clear();
// dt.Tables[0] -> 첫번째 테이블 사용함, DataTable로 나옴.
foreach (DataRow r in _dsAlarm.Tables[0].Rows)
{
// data grid view에 instance node 속성값을 출력
int rIndex = dataGridView_history.Rows.Add();
for (int i = 0; i < nFieldCnt; i++)
{
// string 연산은 string보다 stringbuilder가 더 빠르다.
// ex) string은 신규 제어시 string 객체를 생성하지만, stringBuilder는 그렇지 않다.
StringBuilder szbTemp = new StringBuilder(32);
szbTemp.Append(r[_szField[i]].ToString());
// occurtime 발생 Time을 확인하고, 범위내에 있는지 조사 후 출력한다.
if (i == 2)
{
szbTemp.Remove(10, szbTemp.Length - 10);
nDateBase = Convert.ToInt32(szbTemp.ToString().Replace("-", ""));
// D-Day 기간보다 작으면(즉 D-Day보다 큰날짜만 출력) 출력하지 않는다.
if ((nDateBase < nDateDDay))
{
dataGridView_history.Rows.RemoveAt(rIndex);
break;
}
}
dataGridView_history.Rows[rIndex].Cells[i].Value = r[_szField[i]].ToString();
// type에 따른 color 설정, 외부에서 설정 가능
if (i == 5) // type
{
if (r[_szField[i]].ToString().Equals("heavy"))
cBackcolor = _cHeavyColor;
else if (r[_szField[i]].ToString().Equals("light"))
cBackcolor = _cLightColor;
else
cBackcolor = Color.White;
// Alarm Name field color 변경
dataGridView_history.Rows[rIndex].Cells[1].Style.BackColor = cBackcolor;
}
}
}
// form을 로딩하면 첫번째 줄이 선택되어있는데, 이 부분을 해제한다.
dataGridView_history.Rows[0].Selected = false;
}
======================================================================================
'프로그래밍 > .Net' 카테고리의 다른 글
form closing시 hide 되도록 하기(form hide) (0) | 2014.01.17 |
---|---|
Visual C# 2010 기능을 사용하여 Office Interop 개체에 액세스 (0) | 2014.01.17 |
XML 파일 dataset으로 읽어와 datagridview로 출력하기 (1) | 2014.01.17 |
C# XML에서 문자열 얻어오기 예제 <summary> (0) | 2014.01.17 |
ui control 사용 (0) | 2014.01.17 |