티스토리 뷰
2014.11.17 작성
devexpress 의 차트 컨트롤 사용법입니다.
새로운 내용이 있으면 계속하여 추가하도록 하겠습니다.
Series sItem= new Series("pay", ViewType.Bar); //선언 부분입니다.
빨간색 부분은 차트에 출력되는 이름이고 파란색 부분은 타입을 설정합니다.
sItem.ArgumentScaleType = ScaleType.Qualitative;
sItem.ArgumentDataMember = "date"; // x축 항목 설정 (컬럼명 기제)
sItem.ValueScaleType = ScaleType.Numerical;
sItem.ValueDataMembers.AddRange(new string[] { "pay" }); //값을 가지고있는 컬럼명 기제
sItem.LabelsVisibility = DefaultBoolean.True; // 차트에 숫자 값 출력
sItem.Label.PointOptions.ValueNumericOptions.Format = NumericFormat.Number; // 숫자값에 쉼표 표시
sItem.Label.PointOptions.ValueNumericOptions.Precision = 0; // 소숫점 몇째 자리 까지 표시할것인가 설정
_chart.Series.AddRange(new Series[] { sItem}); //차트 컨트롤에 추가
차트에 값 바인딩은
_chart.DataSource = dtList; 한줄로 끝
차트 값출력 하는곳에 쉼표 넣기 입니다.
<Demo Center 에서 캡쳐>
차트 컨트롤을 사용할때 차트 위에 마우스를 올려놓으면 값을 출력해줍니다.
이기능을 사용할때 별다른 포맷을 설정하지 않으면 그냥 숫자만 출력이 되는데 보기가 힘들수 있습니다.
이럴때 사용자 마음대로 출력포맷을 설정하려면
sSeries.CrosshairLabelPattern = "{S} : {V:n0}";
이 한줄로 설정 할 수 있습니다.
위 형식은 숫자에 쉼표 넣어주는 형식입니다. ex ) 1,151
2015.02.04 작성
1. 차트 y축 값 출력 형식 변환
보통 차트의 y축 값들을 출력할때 숫자라면 단순하게 쉼표 없이 출력됩니다. 이러한 출력값의 형식을 바꾸는 코드 입니다.
->
차트 설정 하는 부분에 추가해주시면 형식이 바뀜니다.
XYDiagram diagram = _chart.Diagram as XYDiagram;
diagram.AxisY.Label.NumericOptions.Format = NumericFormat.Number;
2. 차트 PrintPreview 설정입니다.
단순하게 차트를 미리보기창에 띄우고 싶으면
_chart.ShowPrintPreview(); 이렇게 해주면 되지만 차트 크기의 따라서 페이지를 넘겨버리게 됩니다.
우리가 원하는 방식은 차트가 용지에 맞게 출력되길 원합니다.
using DevExpress.XtraCharts.Printing;
ChartPrinter cp;
private void button1_Click(object sender, EventArgs e) {
Link l = new Link(new PrintingSystem());
l.Landscape = true;
l.PaperKind = System.Drawing.Printing.PaperKind.A3;
cp = new ChartPrinter(this.chartControl1);
cp.Initialize(l.PrintingSystem, l);
cp.SizeMode = PrintSizeMode.Stretch;
l.CreateDetailArea += new CreateAreaEventHandler(l_CreateDetailArea);
l.ShowPreviewDialog();
cp.Release();
}
void l_CreateDetailArea(object sender, CreateAreaEventArgs e) {
cp.CreateDetail(e.Graph);
}
이 코드는 devexpress의 답변중에서 찾게 되었습니다.
일단 여기서 중요하다고 생각되는 코드는 cp.SizeMode = PrintSizeMode.Stretch; 이 코드라고 생각됩니다.
PrintSizeMode 옵션에 따라서 크기가 달라집니다.
PrintSizeMode.Stretch 옵션은 용지에 맞게 차트 크기를 늘리거나 줄려주는거 같습니다.
저의 경우는 차트가 큰 경우라 용지에 맞게 줄여들었습니다.
원본 소스가 있는 페이지 입니다. https://www.devexpress.com/Support/Center/Question/Details/AS6709
'공부 > C#' 카테고리의 다른 글
Visual studio에서 svn 설정하는 방법 (0) | 2016.04.27 |
---|---|
devexpress GridView 설정법 (1) | 2015.02.10 |
C# MySql 접근 (0) | 2014.11.11 |
Search Lookup Editor 컨트롤 사용하기 (0) | 2014.10.23 |
[C#] 문자열 자르기 (0) | 2014.09.23 |
- Total
- Today
- Yesterday
- 플래티나버전
- 영화리뷰
- 축구리뷰
- 에메랄드 버전
- 에메랄드버전
- 피카츄버전
- C#
- ubuntu
- 플라티나버전
- 데이즈
- server
- 크리스탈 버전
- virtualbox
- GTA5
- 다이어트
- 축구만화
- 블랙버전
- 기라티나버전
- 축구
- 화이트2버전
- Linux
- 첼시
- 포켓몬스터
- 파이어레드
- 마리아치 토네이도
- 토트넘
- DAYS
- 오블완
- 크리스탈버전
- 티스토리챌린지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |