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;
}

======================================================================================

 

+ Recent posts