Lookup Tree


여러 값으로 구성된 키와 키의 값을 계층적 구조로 저장하는 구현체이다.

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

  - Options
      Lookup Display : 체크 시 데이터값이 자세하게 나온다.
      Lookup Tree : 데이터값을 다른 방식으로 표현한다.
  - Update Data : 선택행의 값을 변경해서 Lookup 컬럼에 잘 표시되는 지 확인한다.
  - Export to local : 현재 작성된 데이터행을 기반으로 실행 시 'excel' 파일의 형태(.xlsx)로 데이터가 그대로 넘어간다.
  - Export to email : 현재 작성된 데이터행을 기반으로 실행 시 '.excel' 파일이 첨부되며 메일을 통해 원하는 주소로 전송 할 수 있다.
 소스보기
public void run(Context ctx, GridView grid) throws Exception { final DataColumn column = grid.dataColumnByName("colCustomer"); new FormDialog2().show(grid.getContext(), formLookup, new FormDialog2.OnCloseListener() { @Override public void onClose(Context ctx, Form form) { column.setLookupDisplay(form.getBool("lookupDisplay")); if ("country_customer".equals(form.getString("lookupTree"))) { column.setLookupSource("countryCustomers"); column.setLookupKeyFields(new String[] {"country", "customer_id"}); } else { column.setLookupSource("prodCustomers"); column.setLookupKeyFields(new String[] {"product_id", "customer_id"}); } } }); }
public void run(Context ctx, GridView grid) throws Exception { int row = grid.focusedDataRow(); if (row < 0) { Utils.alert(ctx, "값을 변경할 데이터행을 선택하세요."); } int field = m_ds.getFieldIndex("product_id"); Object v = m_ds.getValue(row, field); Object[] values = m_ds.getDistinctValues(field); if (values.length > 1) { while (true) { int n = Value.irandom(values.length); Object v2 = values[n]; if (!v.equals(v2)) { m_ds.setValue(row, field, v2); break; } } } field = m_ds.getFieldIndex("country"); v = m_ds.getValue(row, field); values = m_ds.getDistinctValues(field); if (values.length > 1) { while (true) { int n = Value.irandom(values.length); Object v2 = values[n]; if (!v.equals(v2)) { m_ds.setValue(row, field, v2); break; } } } }