728x90
반응형

출처 : http://erictus.tistory.com/entry/Tapestry-3party-컴포넌트-JQGrid




1) 개선해야 할 기능 목록 

- Inplace Editor 기능 ( Form전송 처리 - Java연동. )

- colModel이 editable:true 되어야함.

: 보아하니 InplaceEditor로 수정 시, 정보값을 다넘김. (hidden type기능있는지 찾아봐야겠음)

   따라서, button(JS)에 Ajax로 ID값과 저 값들을 모두 넘기게 할 수 있을 듯.

 

- SubGrid

- Basic Search, Search Toolbar

- Summary Footer Row – colModel의 formatter가 number이고, userDataOnFooter : true

- Column Reorder : sortable=true

- Scrolling Rows / Virtual Scrolling

   : scroll: 1 만 추가하면 Virtual Scrolling이 돌아간다. 대박..

   : 페이징은 사라지게 되고, 스크롤을 통해서만 페이징 처리를 하게된다.

   : 즉, 경우에 따라선 페이징이 편할 수 도 있음.

 

//Resizable Grid

- jQuery("#grid").jqGrid('gridResize',{minWidth:350,maxWidth:800,minHeight:80, maxHeight:350});

- Grouping , Multiple Grouping

 

2) JQGrid API 정리.

*JQGrid Manipulation

- jQuery(“#grid”).jqGrid(“getGridParam”,”selrow”); return ID;//Selected Row 가져오기

 

*JQGrid Function

- jQuery("#grid").jqGrid('getDataIDs'); //return Ids

: rowData의 id목록을 가져옴. *ID를 지정하지 않으면, 뭐가 ID가 되는걸까?

*jqgXXX 형태로 아이디가 생김.

 

//row데이터 추가. 

- jQuery("#grid").jqGrid('setRowData',ids[i],{act:be+se+ce});

 

- jQuery(“#grid”).jqGrid(‘editRow’,ID); //수정/저장/취소 Action 툴바기능.

  : editRow(Id) , saveRow(Id), restoreRow(Id)

 

- jQuery(“#grid”).jqGrid(‘addRowData’,ID,rowData); //addRowData(ID, Data);

  : Grid에 한 Row를 추가한다.

  : (배열로 입력할수 없는듯 하며, 하나씩 for돌려서 넣어야함)

 

  - jQuery("#list10_d").jqGrid('getGridParam','records') : 레코드 개수.

 

  - jQuery("#list10_d").trigger('reloadGrid');

  - jQuery("#sample").jqGrid('getGridParam','selarrrow'); //return Ids //["jqg584", "jqg585", "jqg586"]

   : Multiple Check가 아닌, 선택을 의미함.

 

*JQGrid 이벤트

  - gridComplete

  - onSelectRow(Id)

  - ondblClickRow(ID)

 

*JQGrid Options

-editurl : 이곳으로 수정한 정보가 들어오는지 확인해봐야함.

 

3) 빅데이터 테스트

- 생각보다 빠르다. 겁나버벅대서 걱정했는데, System.out.print를 찍어서 그럼.

- 20만건도 1초내로 반응하고, 정렬도 1초이내다. 이정도면 대박이다..

- 빅데이터 UI로 사용해도 문제없을듯.

 

JQGrid 강좌를 잘해주신 분의 블로그임. http://insnote.com/xe/kkang/302

*JSONReader로 function을 통해 제어가 가능함.

jsonReader : {
    repeatitems : false,
    id : "rank",
    root : function (obj) { return obj.socialpick.item; },
    page : function (obj) { return 1; },
    total : function (obj) { return 1; },
    records : function (obj) {return obj.socialpick.item.length; }
}

 

*Message –> Properties로 처리.

4) Tapestry-Stitch

: SyntaxSourceImpl에서 에러 발생. Git에 수정요청했건만, 다른 방법이 있다고 안고쳐줌.

: 시댕 어떻게 고치는지까지 알려줘도 안해줌!! 난 권한이없을 뿐이고..

: 그래서 찾은거 http://tapestry.apache.org/ioc-cookbook-overriding-ioc-services.html

 

*Tapestry IOC에서 Service는 Spring에서 Bean개념이다.

따라서, Service를 정의해주는 CygnusCoreModule의 bind에서

  binder.bind(SyntaxSource.class, SyntaxSourceImpl.class).withId("SyntaxSourceOverride"); 재정의 해주고,

 

로컬에 있는 소스를 인지하도록 오버라이드 해주면 완료!!

@Contribute(ServiceOverride.class)
public static void setupApplicationServiceOverrides(MappedConfiguration<Class,Object> configuration,

    @Local SyntaxSource override)
    {
      System.out.println("[Cygnus Core] setupApplicationServiceOverrides");
      configuration.add(SyntaxSource.class, override);
    }

 

*Hibernate공부도 해야함.

728x90
반응형

'jqGrid > 함수' 카테고리의 다른 글

jqGrid 추가 옵션  (0) 2015.10.22
JqGrid 속성  (1) 2015.10.22
jqGrid (메소드)  (0) 2015.10.22
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,