티스토리 뷰

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의 정렬방법을 설정한다.

public void DataBindCrossTable(IEnumerable dataSource, string seriesGroupByField, string xField, string yFields, string otherFields)

public void DataBindCrossTable(IEnumerable dataSource, string seriesGroupByField, string xField, string yFields, string otherFields, PointSortOrder sortingOrder)

Chart.DataSource

DataSource 프러퍼티를 이용하면 언제든지 series의 DataPoint를 바인딩할 수 있다. DataSource를 차트에 바인딩하기 위해서 DataBind() 메서드를 마지막에 호출해야 한다.

Chart.DataSource

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
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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
글 보관함