티스토리 뷰
https://msdn.microsoft.com/ko-kr/library/dd456766.aspx
다양한 데이터 바인딩 기술에 대해 설명한다.
데이터 소스
바인딩 될 수 있는 데이터 소스는 다음과 같다.
- DataView
- Data Readers (SQL, OleDB)
- DataSet (Chat.DataSource로만 바인딩 가능하다.)
- Arrays
- Lists
- 모든 IEnumerable object
Array, List 같은 표 형식이 아닌 데이터 소스를 사용할 경우 Y값만 바인딩할 수 있다.
데이터 바인딩 메서드
chart에 데이터를 연결하는 바인딩 메서드를 제공한다. 연결할 데이터와 각 메서드가 가지는 장단점을 고려하여 구현하면 된다.
Chart.DataBindTable()
IEnummerable 상속 클래스를 인자로 받지만 메소드명처럼 주로 테이블형식의 데이터를 바인딩할 때 사용된다. DataView, DataReader를 바인딩할 때 사용된다.
public void DataBindTable(IEnumerable dataSource)
public void DataBindTable(IEnumerable dataSource, string xField)
Chart.DataBindCrossTable()
Chart.DataBindTable()과 비슷하다. 하지만 2번째 인자로 받은 seriesGroupByField를 기준으로 Series그룹을 만들고, xField, yField를 지정하고, otherField는 DataPoint의 property를 설정할 수 있다. srotingOder은 seriesGroupByField의 정렬방법을 설정한다.
Chart.DataSource
DataSource 프러퍼티를 이용하면 언제든지 series의 DataPoint를 바인딩할 수 있다. DataSource를 차트에 바인딩하기 위해서 DataBind() 메서드를 마지막에 호출해야 한다.
Series.Points.DataBindY()
Series의 Points의 Y값을 바인딩할 때 사용된다. X는 1부터 순차적으로 올라간다.
public void DataBindY(params IEnumerable[] yValue) : params를 이용하여 여러개의 yValue인자를 받아서 여러개의 yValue를 바인딩할 수 있다.
public void DataBindY(IEnumerable yValue, string yFields) : 지정된 yFiled에 yValue를 바인딩한다.
Series.Points.DataBindXY()
Series의 Points의 X, Y값을 바인딩할 때 사용된다.
public void DataBindXY(IEnumerable xValue, params IEnumerable[] yValues) : 하나의 X 인자와 하나 이상의 Y인자를 바인딩할 수 있다.
public void DataBindXY(IEnumerable xValue, string xField, IEnumerable yValue, string yFields) : 하나의 X 인자와 열(column)의 이름, 콤마(,)로 구분된 Y값들()의 리스트, Y값으로 제공되는 이름을 쉼표로 구분한 리스트을 이용하여 여러개의 Y값을 바인딩 할 수 있다.
첫번째 DataBindXY()와 두번째 DataBindXY()의 기능은 비슷하지만 두번째 메서드는 문자열로 된 Y값들을 처리하기에 좋은 것 같다.
Series.Points.DataBind()
데이터 원본이 Ole(SQL) DataReader, DataView, DataSet, DataTable, DataRow일 때 사용합니다.
public void DataBind(IEnumerable dataSource, string xField, string yFields, string otherFields)
'winForm > chart control' 카테고리의 다른 글
DataTable, DataSet, DataView (0) | 2018.03.04 |
---|---|
런타임에 Series 및 DataPoint 추가 (0) | 2018.03.01 |
Series, DataPoint (0) | 2018.03.01 |
데이터 통합을 위한 차트 컨트롤 _ 사이트맵 (0) | 2018.02.28 |
키워드 (0) | 2018.02.28 |