• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
조회 수 : 1144
2008.11.12 (21:01:03)
게시판을 이용해 주셔서 감사합니다.
다음양식에 맞게 입력해주세요.

* 고객시스템명 :
* GAUCE 버전 : 4.0
* WAS 종류(WebLogic 등등) : Weblogic
* DB 종류 : Oracle 10g
* 문의 유형(질문/요청/참조) :
* 내용 :

GauceDataSet 입력시 Grid.SummaryString() 의 기본값 차이 질문입니다.

방법1.
GauceDataSet dSet = new GauceDataSet();
  res.enableFirstRow(dSet);

  dSet.addDataColumn(new GauceDataColumn("no", GauceDataColumn.TB_INT, 30));
  dSet.addDataColumn(new GauceDataColumn("c1", GauceDataColumn.TB_DATE, 30));
  dSet.addDataColumn(new GauceDataColumn("c2", GauceDataColumn.TB_STRING, 30));
  dSet.addDataColumn(new GauceDataColumn("c3", GauceDataColumn.TB_STRING, 30));
  dSet.addDataColumn(new GauceDataColumn("c4", GauceDataColumn.TB_STRING, 30));
  dSet.addDataColumn(new GauceDataColumn("c5", GauceDataColumn.TB_DECIMAL, 15, 0));
  dSet.addDataColumn(new GauceDataColumn("c6", GauceDataColumn.TB_STRING, 30));
  dSet.addDataColumn(new GauceDataColumn("c7", GauceDataColumn.TB_STRING, 30));

        for (int i = 0; i < result.size(); i++)
        {
            GauceDataRow row = dSet.newDataRow();

            row.setInt(0, (i + 1));
            row.setString(1, result.get(i).get("1"));
            row.setString(2, result.get(i).get("2"));
            row.setString(3, result.get(i).get("3"));
            row.setString(4, result.get(i).get("4"));
            row.setDouble(5, Double.parseDouble(result.get(i).get("5")));
            row.setString(6, result.get(i).get("6"));
            row.setString(7, result.get(i).get("7"));

            dSet.addDataRow(row);
        }

        dSet.flush();


방법2.
GauceOutputStream gos = ((HttpGauceResponse) response).getGauceOutputStream();

        GauceDataSet dSet = new GauceDataSet();
        gos.fragment(dSet);

        // Gauce Dataset에 Data입력
        for (int i = 0; i < result.size(); i++)
        {
            dSet.put("no", i + 1, 20);
            dSet.put("c1", result.get(i).get("1"), 20);
            dSet.put("c2", result.get(i).get("2"), 40);
            dSet.put("c3", result.get(i).get("3"), 40);
            dSet.put("c4", result.get(i).get("4"), 80);
            dSet.put("c5", result.get(i).get("5"), 40);
            dSet.put("c6", result.get(i).get("6"), 40);
            dSet.put("c7", result.get(i).get("7"), 40);
            dSet.put("c8", result.get(i).get("8"), 40);
            dSet.put("c9", result.get(i).get("9"), 40);
            dSet.put("c10", Double.parseDouble(result.get(i).get("10")), 40, 0);
            dSet.put("c11", result.get(i).get("11"), 40);
            dSet.put("c12", result.get(i).get("12"), 40);
            dSet.put("c13", result.get(i).get("13"), 40);
            dSet.put("c14", result.get(i).get("14"), 40);
            dSet.put("c15", result.get(i).get("15"), 40);
            dSet.put("c16", result.get(i).get("16"), 40);
            dSet.put("c17", result.get(i).get("17"), 40);
            dSet.put("c18", Integer.parseInt(result.get(i).get("18")), 40);
            dSet.put("c19", Double.parseDouble(result.get(i).get("19")), 40, 0);
            dSet.put("c20", Double.parseDouble(result.get(i).get("20")), 40, 0);
            dSet.put("c21", Integer.parseInt(result.get(i).get("21")), 40);
            dSet.put("c22", result.get(i).get("22"), 40);
            dSet.put("c23", result.get(i).get("23"), 40);
            
            dSet.heap();
        }

        // Client로 전송
        gos.write(dSet);
        gos.close();


질문1. 가우스로드완료시에 SummaryString(컬럼명, 옵션)으로 해당 컬럼의 합을 가져와야 합니다. 그런데 방법1로는 row의 결과가 0일시 0을 줍니다. 하지만 방법2로는 ""을 주더군요.. 이부분에서 방법1과 방법2의 차이점을 알고싶습니다.

질문2. 방법2로는 ""이 아닌 0을 가져오게 할수있는 방법이 있으시면 알려주세요.(row의 결과가 0이 아닐때는 잘 동작됩니다.)
 
Tag List
XE Login