Getting Started


1. 안드로이드에서 Grid 만들기
1-1 안드로이드 폰에서 보이는 결과
1-2 프로젝트 생성
1> 안드로이드 스튜디오를 실행하고 File → New → New Project 를 선택해서 새 프로젝트를 생성합니다.
2> 요구하는 SDK를 선택하고, 지원하는 최소 SDK인 API 버전 16(젤리빈) 를 선택합니다.
3> Add an Activity to Mobile 에서 Empty Activity를 선택하고 Next를 클릭합니다.
4> Finish를 눌러 프로젝트를 생성합니다.
1-3 aar 파일 import 하기
1> 안드로이드 스튜디오에서 File - Project Structure를 클릭합니다.
2> 왼쪽 상단에 +를 선택합니다.
3> import.JAR/AAR Package를 선택하고 Next를 클릭합니다.
4> common-release, grid-release 2개의 파일을 추가하고 Next를 클릭하고
choose module에 :common-release, :grid-release를 선택후 OK를 클릭합니다.
5> 확인하고 OK를 선택합니다.
1-4 csv파일(gridtest.csv) 로드

데이터 파일(.csv)을 불러올수 있도록 다음과 같이 코드를 추가합니다.

InputStream is = context.getResources().openRawResource(R.raw.gridtest); try { CsvReader.Options options = new CsvReader.Options(); options.setStart(1).setQuoted(true).setCurrency(true); Object[][] rows = new CsvReader().read(is, m_ds, options); m_ds.setRows(rows, false); } finally { is.close(); }
1-5 데이터 필드 생성

csv파일의 처음 줄에 위치한 Country or Area, Year, Value의 타입에 맞게 데이터 필드를 생성한다.

1-6 코드 작성

Column을 보여주고 싶은 형태로 코드를 작성합니다.

DataColumn.create("Country or Area", "Country or Area", new ColumnCallback() { @Override public void onCreate(DataColumn column) { column.setWidth(100); } }),

: Column의 이름은 "Country or Area"이고, 폭은 100의 크기로 지정했다.

DataColumn.create("Year", "Year", new ColumnCallback() { @Override public void onCreate(DataColumn column) { column.setWidth(60); column.getStyles().setTextAlignment(TextAlign.RIGHT); } }),

: Column의 이름은 “Year”이고, 폭은 60의 크기로 지정 했고, 텍스트를 오른쪽정렬로 지정했다.

DataColumn.create("Value", "Value", new ColumnCallback() { @Override public void onCreate(DataColumn column) { column.setWidth(170); column.getStyles().setTextAlignment(TextAlign.RIGHT); column.getStyles().setNumberFormat("#,##0"); column.getFooter().setExpression("sum"); } })

: Column의 이름은 “Value”이고, 폭은 170의 크기로 지정 했고, 텍스트를 오른쪽정렬로 지정 했으며 보여지는 숫자의 형태는 천단위로
      끊었고, 마지막으로 Value에 해당하는 값의 합을 표현했습니다.

1-7 각 행 상태에 따른 스타일

각 행의 상태에 따른 스타일 지정 방법, 그리고 스타일 지정으로 인한 결과는 다음과 같습니다.

grid.getBody().getCheckedStyles().setFill(Fill.create("#2000ff88")); // 행 체크시 grid.getBody().getUpdatedStyles().setFill(Fill.create("#10000000")); // 값 수정시

1-8 아래는 기본 그리드를 만드는데 사용한 전체 코드 입니다.
public class HelloGridDemo implements IGridDemo { private GridDataSet m_ds; private DataField[] m_fields = new DataField[]{ new TextField("Country or Area"), new TextField("Year"), new NumberField("Value"), }; private GridColumn[] m_columns = new GridColumn[]{ DataColumn.create("Country or Area", "Country or Area", new ColumnCallback() { @Override public void onCreate(DataColumn column) { column.setWidth(100); } }), DataColumn.create("Year", "Year", new ColumnCallback() { @Override public void onCreate(DataColumn column) { column.setWidth(60); column.getStyles().setTextAlignment(TextAlign.RIGHT); } }), DataColumn.create("Value", "Value", new ColumnCallback() { @Override public void onCreate(DataColumn column) { column.setWidth(170); column.getStyles().setTextAlignment(TextAlign.RIGHT); column.getStyles().setNumberFormat("#,##0"); column.getFooter().setExpression("sum"); } }), }; public HelloGridDemo() { super(); } @Override public void setupGrid(final Context context, final GridView grid) throws Exception { m_ds = new GridDataSet(m_fields); InputStream is = context.getResources().openRawResource(R.raw.gridtest); try { CsvReader.Options options = new CsvReader.Options(); options.setStart(1).setQuoted(true).setCurrency(true); Object[][] rows = new CsvReader().read(is, m_ds, options); m_ds.setRows(rows, false); } finally { is.close(); } grid.setColumns(m_columns); grid.setDataSource(m_ds); grid.getBody().getCheckedStyles().setFill(Fill.create("#2000ff88")); grid.getBody().getUpdatedStyles().setFill(Fill.create("#10000000")); } @Override public IAction[] getActions() { return new IAction[0]; } }
1-9 최종결과