Data RowState


데이터 세트가 로드된 후에 데이터 행이 수정, 삭제되거나 새로운 행이 추가될 시 행의 상태를 알 수 있다.

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

- NONE : 처음부터 상태 변화가 없거나, clear하고 나서의 상태를 의미한다.
- CREATED : 새로 추가된 행이다.
- UPDATED : 기존에 있던 행의 내용을 변경하는 경우이다.
- DELETED : 삭제처리가 된 행이다.
- CREATE_AND_DELETED : 추가되었던 행이 삭제된 상태를 의미한다.



  - Get Row State : 선택한 데이터 행의 상태를 표시하는 것으로 행의 상태에 따라 NONE, CREATED, UPDATED, DELETED,
    CREATE_AND_DELETED로 나눠진다.
  - Set Row State : 선택한 하나의 행을 원하는 상태로 변경하는 것으로 NONE, CREATED, UPDATED, DELETED, CREATE_AND_DELETED
    중의 하나를 정할 수 있다.
  - Set Rows States : 2개 이상의 선택한 행을 원하는 상태로 변경하는 것으로 NONE, CREATED, UPDATED, DELETED, CREATE_AND_DELETED
    중의 하나를 정할 수 있다.
  - Clear States : CREATED, UPDATED, DELETED, CREATE_AND_DELETED 모든 상태의 데이터 행을 초기 상태("NONE")로 되돌린다.
  - Clear 'CREATED' States : "CREATED" 상태의 데이터 행을 초기 상태("NONE")로 되돌린다.
  - Clear 'UPDATED' Rows : "UPDATED" 상태의 데이터 행을 초기 상태("NONE")로 되돌린다.
  - Get Stated Rows : 상태가 CREATED, UPDATED, DELETED, CREATE_AND_DELETED인 행들의 목록을 표시한다.
  - Export to local : 현재 작성된 데이터행을 기반으로 실행시 'excel' 파일의 형태(.xlsx)로 데이터가 그대로 넘어간다.
  - Export to email : 현재 작성된 데이터행을 기반으로 실행시 '.excel' 파일이 첨부되며 메일을 통해 원하는 주소로 전송 할 수 있다.
 소스보기
public void run(GridView grid) throws Exception { int row = grid.focusedDataRow(); if (row >= 0) { DataRowState state = m_ds.getRowState(row); System.out.println(state); Utils.alert(grid.getContext(), state); } else { Utils.alert(grid.getContext(), "상태값을 가져올 행을 선택하세요."); } }
public void run(final Context ctx, GridView grid) throws Exception { final int row = grid.focusedDataRow(); if (row >= 0) { final DataRowState[] states = DataRowState.values(); Utils.selectSingle(ctx, "Select DataRowState", states, -1, new Utils.SingleSelectedListener() { @Override public void onSelected(int selectedIndex) { DataRowState state = states[selectedIndex]; try { m_ds.setRowState(row, state); } catch (Throwable ex) { ex.printStackTrace(); Utils.alert(ctx, ex.getMessage()); } System.out.println(state); Utils.toast(ctx, state); } }); } else { Utils.alert(grid.getContext(), "상태를 설정할 행을 선택하세요."); } }
public void run(final Context ctx, GridView grid) { final int[] rows = grid.getSelectedDataRows(); if (rows.length > 0) { final DataRowState[] states = DataRowState.values(); Utils.selectSingle(ctx, "Select DataRowState", states, -1, new Utils.SingleSelectedListener() { @Override public void onSelected(int selectedIndex) { DataRowState state = states[selectedIndex]; try { m_ds.setRowStates(rows, state); } catch (Throwable ex) { ex.printStackTrace(); Utils.alert(ctx, ex.getMessage()); } System.out.println(state); Utils.toast(ctx, state); } }); } else { Utils.alert(grid.getContext(), "상태를 설정할 행들을 선택하세요."); } }
public void run(Context ctx, GridView grid) throws Exception { int count = m_ds.clearRowStates(); if (count > 0) { Utils.toast(ctx, count + " rows 상태 초기화"); } }
public void run(Context ctx, GridView grid) throws Exception { DataRowState[] states = { DataRowState.CREATED }; int count = m_ds.clearRowStates(null, states); if (count > 0) { Utils.toast(ctx, count + " rows 상태 초기화"); } }
public void run(Context ctx, GridView grid) throws Exception { DataRowState[] states = { DataRowState.UPDATED }; int count = m_ds.clearRowStates(null, states); if (count > 0) { Utils.toast(ctx, count + " rows 상태 초기화"); } }
public void run(Context ctx, GridView grid) { Map rows = m_ds.getAllStateRows(); String s = ""; for (Map.Entry e: rows.entrySet()) { s += e.getKey() + ": " + Arrays.toString(e.getValue()) + "\n"; } Utils.alert(grid.getContext(), s); }