Series Column


데이터 필드에 하나 이상의 필드 값의 변화를 통해 시각적인 효과를 준다.

* 영상은 자동 재생되며, 영상화면 왼쪽 윗부분에 재생목록을 클릭해서 원하는 목록을 재생 할 수 있습니다. (모든해 → 홀수 해)



   - 홀수 해만 표시 : 시리즈 칼럼에서 홀수 해에 해당하는 필드만 설정한다.
   - 모든 해 표시 : 시리즈 칼럼에서 모든 필드를 설정한다.
   - 증감분으로 표시 : 시리즈 칼럼 필드 순서대로 값의 변화량을 막대로 표시한다.
   - 누적값으로 표시 : 시리즈 칼럼 필드 순서대로 값의 변화량을 선으로 표시한다.
   - 원본값으로 표시 : 시리즈 칼럼 필드 값들을 그대로 표시한다.
   - 콜백함수로 값 목록 지정 : 콜백함수를 지정해서 칼럼 셀의 값 변화량을 숫자 형태로 표시한다.
 소스보기
public void run(Context ctx, final GridView grid) throws Exception { ((SeriesColumn)grid.columnByName("totals")).setFieldNames(totalFields2); ((SeriesColumn)grid.columnByName("males")).setFieldNames(totalMales2); ((SeriesColumn)grid.columnByName("females")).setFieldNames(totalFemales2); } public void run(Context ctx, final GridView grid) throws Exception { ((SeriesColumn)grid.columnByName("totals")).setFieldNames(totalFields); ((SeriesColumn)grid.columnByName("males")).setFieldNames(totalMales); ((SeriesColumn)grid.columnByName("females")).setFieldNames(totalFemales); }
public void run(Context ctx, final GridView grid) throws Exception { ((SeriesColumn)grid.columnByName("totals")) .setValuesCallback(null) .setColumnValues(SeriesColumnValues.CHANGE) .setDisplayCallback(null) .setRenderer(m_winlossRenderer); ((SeriesColumn)grid.columnByName("males")) .setValuesCallback(null) .setColumnValues(SeriesColumnValues.CHANGE) .setDisplayCallback(null) .setRenderer(m_winlossRenderer2); ((SeriesColumn)grid.columnByName("females")) .setValuesCallback(null) .setColumnValues(SeriesColumnValues.CHANGE) .setDisplayCallback(null) .setRenderer(m_winlossRenderer2); }
public void run(Context ctx, final GridView grid) throws Exception { ((SeriesColumn)grid.columnByName("totals")) .setValuesCallback(null) .setColumnValues(SeriesColumnValues.CUMULATIVE) .setDisplayCallback(null) .setRenderer(m_lineRenderer); ((SeriesColumn)grid.columnByName("males")) .setValuesCallback(null) .setColumnValues(SeriesColumnValues.CUMULATIVE) .setDisplayCallback(null) .setRenderer(m_lineRenderer); ((SeriesColumn)grid.columnByName("females")) .setValuesCallback(null) .setColumnValues(SeriesColumnValues.CUMULATIVE) .setDisplayCallback(null) .setRenderer(m_lineRenderer); }
public void run(Context ctx, final GridView grid) throws Exception { ((SeriesColumn)grid.columnByName("totals")) .setValuesCallback(null) .setColumnValues(SeriesColumnValues.COPY) .setDisplayCallback(null) .setRenderer(m_columnRenderer); ((SeriesColumn)grid.columnByName("males")) .setValuesCallback(null) .setColumnValues(SeriesColumnValues.COPY) .setDisplayCallback(null) .setRenderer(m_columnRenderer); ((SeriesColumn)grid.columnByName("females")) .setValuesCallback(null) .setColumnValues(SeriesColumnValues.COPY) .setDisplayCallback(null) .setRenderer(m_columnRenderer); }
public void run(Context ctx, final GridView grid) throws Exception { ((SeriesColumn)grid.columnByName("totals")).setValuesCallback(new SeriesColumn.ValuesCallback() { @Override public Object[] getValues(SeriesColumn column, int row, Object[] values) { int min = Integer.MAX_VALUE; int max = Integer.MIN_VALUE; for (int i = 0; i < values.length; i++) { int v = values[i] != null ? (int)values[i] : 0; min = Math.min(min, v); max = Math.max(max, v); } return new Object[] {min, max}; } }).setDisplayCallback(new ValueColumn.DisplayCallback() { @Override public String getDisplayValue(ValueColumn column, int row, Object value) { Object[] vals = (Object[])value; double v1 = vals[0] == null ? Double.NaN : (int)vals[0]; double v2 = vals[1] == null ? Double.NaN : (int)vals[1]; String s1 = Double.isNaN(v1) ? "" : DecimalFormatter.format(v1, "#,##0"); String s2 = Double.isNaN(v2) ? "" : DecimalFormatter.format(v2, "#,##0"); return s1 + " -> " + s2; } }).setRenderer(null); ((SeriesColumn)grid.columnByName("males")).setValuesCallback(new SeriesColumn.ValuesCallback() { @Override public Object[] getValues(SeriesColumn column, int row, Object[] values) { int sum = 0; for (int i = 0; i < values.length; i++) { int v = values[i] != null ? (int)values[i] : 0; sum += v; } return new Object[] { sum }; } }).setDisplayCallback(new ValueColumn.DisplayCallback() { @Override public String getDisplayValue(ValueColumn column, int row, Object value) { Object[] vals = (Object[])value; return "SUM: " + DecimalFormatter.format((int)vals[0], "#,##0"); } }).setRenderer(null); ((SeriesColumn)grid.columnByName("females")).setValuesCallback(new SeriesColumn.ValuesCallback() { @Override public Object[] getValues(SeriesColumn column, int row, Object[] values) { int sum = 0; for (int i = 0; i < values.length; i++) { int v = values[i] != null ? (int)values[i] : 0; sum += v; } return new Object[] { (double)sum / values.length }; } }).setDisplayCallback(new ValueColumn.DisplayCallback() { @Override public String getDisplayValue(ValueColumn column, int row, Object value) { Object[] vals = (Object[])value; return "AVG: " + DecimalFormatter.format((double)vals[0], "#,##0.00"); } }).setRenderer(null); }