**본 글은 DevExpress 컴포넌트를 이용한 경우에만 참고 할 수 있다.
테스트에 사용된 데이터
화면에 표시해주는 데이터를 알아보기 쉽게 포맷을 변경해보자.
숫자의 경우는 자리수에 맞춰 콤마(,)를 표시해주고,
날짜는 'yyyy년 MM월 dd일' 형태로 변경한다.
데이터 생성
DataTable로 데이터를 생성한다
DataTable dt =new DataTable();
dt.Columns.Add("Item");
dt.Columns.Add("Stock");
dt.Columns.Add("Date");
dt.Columns["Item"].Caption = "품목";
dt.Columns["Stock"].Caption = "재고";
dt.Columns["Date"].Caption = "날짜";
dt.Rows.Add("연필", "3500", "20200501");
dt.Rows.Add("지우개", "2000", "20210301");
dt.Rows.Add("GTX3090", "200", "20210808");
gridControl1.DataSource=dt;
데이터 포맷 설정
GridControl의 데이터 포맷은 Gridview의 CustomColumnDisplayText 이벤트를 이용한다.
숫자형
숫자정보는 아래 코드를 참고한다.
string num = e.Value.ToString();
int intNum;
if (Int32.TryParse(num, out intNum)) //데이터를 int로 변환시도
{
e.DisplayText = string.Format("{0:#,###}", intNum);
}
else
{
e.DisplayText = num;
}
날짜형
날짜정보는 아래 코드를 참고한다.
string strDate = e.Value.ToString();
DateTime dateTime;
try
{
dateTime = DateTime.ParseExact(strDate, "yyyyMMdd", null);
e.DisplayText = dateTime.ToString("yyyy년 MM월 dd일");
}
catch
{
e.DisplayText = strDate;
}
이벤트 작성
위 코드를 이벤트에 작성 하여 각 컬럼별 DisplayText를 변경 할 수 있다.
Switch문을 이용해 두가지를 동시에 적용한다.(If문을 사용해도된다.)
private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
{
switch (e.Column.FieldName)
{
case "Stock":
string num = e.Value.ToString();
int intNum;
if (Int32.TryParse(num, out intNum))
{
e.DisplayText = string.Format("{0:#,###}", intNum);
}
else
{
e.DisplayText = num;
}
break;
case "Date":
string strDate = e.Value.ToString();
DateTime dateTime;
try
{
dateTime = DateTime.ParseExact(strDate, "yyyyMMdd", null);
e.DisplayText = dateTime.ToString("yyyy년 MM월 dd일");
}
catch
{
e.DisplayText = strDate;
}
break;
}
}
끝.
'C# > winform' 카테고리의 다른 글
[C#][winform][dev]XtraDialog 를 이용하여 간단한 입력창 만들기 (0) | 2021.07.09 |
---|---|
[C#][WinForm]DataGridView 데이터 포맷 설정하기(숫자 ',' 표시 / 날짜 형식) (0) | 2021.07.01 |
[C#][WinForm][Dev]GridControl/GridView에 특정 행을 색으로 표시하기 (0) | 2021.06.29 |
[C#][WinForm][Dev]DataTable로 GridControl/GridView에 데이터 추가하기 (0) | 2021.06.28 |
[C#][WinForm][Dev]SearchLookupEdit 사용하기 (2) | 2021.06.25 |