2017년 4월 10일 월요일

RealGrid 공통


http://help.realgrid.com

RealGrid 공통부분이 필요한데,

빠른 output이 필요한 상황이라 RealGrid Tutorial을 참고해서 우선 중복코딩을 최소화하

는 정도입니다.


한 페이지에 Grid가 Max 2개까지 있다고 가정합니다.

다음은 공통 script 파일 내용입니다.

var gridView, gridViewDetail, dataProvider, dataProviderDetail;

/**
 * realGrid 초기화 및 default 세팅
 */
var ComGridInit = function(id, columns, fields){
RealGridJS.setTrace(false);
    RealGridJS.setRootContext("js파일 경로");
 
    dataProvider = new RealGridJS.LocalDataProvider();
    gridView = new RealGridJS.GridView(id);
    gridView.setDataSource(dataProvider);
 
    gridView.setColumns(columns);
    dataProvider.setFields(fields);
 
    setDefaultGridOptions(dataProvider, gridView);
    setDefaultGridStyles(gridView);
};


/**
 * 두번째 Grid가 필요할 때 초기화
 */
var ComGridDetailInit = function(id, columns, fields){
dataProviderDetail = new RealGridJS.LocalDataProvider();
gridViewDetail = new RealGridJS.GridView(id);
gridViewDetail.setDataSource(dataProviderDetail);
   
gridViewDetail.setColumns(columns);
dataProviderDetail.setFields(fields);
   
    setDefaultGridOptions(dataProviderDetail, gridViewDetail);
    setDefaultGridStyles(gridViewDetail);
};


function setDefaultGridOptions(provider, grid) {
    provider.setOptions({
        restoreMode: "auto",
        //softDeleting: true //데이터를 바로 삭제하지 않고 상태만 변경 - delete 할 때 직접처리
    });

    grid.setOptions({
        panel:{
            visible: false
        },
        checkBar:{
            visible: false
        },
        stateBar:{
            //visible: false
        },
        header: {
        minHeight: 30
        },
        edit: {
            insertable: true,
            appendable: true,
            deletable: true,
            upateable: true,
            commitWhenExitLast: true,
            crossWhenExitLast: true,
            enterToTab: true,
        },
        sort: {
            keepFocusedRow: true
        },
        footer: {
            visible: false
        }
    })

    //grid.setSelectOptions({style:"singleRow"});
    //grid.setSelectOptions({style:"block"});
    //grid.setDisplayOptions({focusVisible:false});
};


function setDefaultGridStyles(grid) {
    var skins = {
        selection:{
            //background:"#50ffd400",
            //border:"#ffffd400,1px"
        //background: "#2f1e90ff",
        //border: "#5f1e90ff,2"
        },
        body:{
            //background:"#fffafbfc",
            //foreground:"#ff000000"
            //background: "#ffffffff",
            //foreground: "#ff666666"
        },
        header:{
            //background:"linear,#ffe4f2fb,#ffddeefa,90",
            //fontBold:"true"
        //background: "linear,#ffe9f0f8,#ffc3d8f1,90",
        fontBold:"true"
        },
        indicator:{
            //background:"#d8ecfa",
            //foreground:"#ff3a85ba"
            //background: "#ffebf3fc",
            //foreground: "#ff002f6e"          
        }
    };

    grid.setStyles(skins);
}


댓글 없음:

댓글 쓰기

스프링 빈 등록 순서 오류 시 @PostConstruct 사용

  스프링 xml 설정에서 등록할 빈을 명시적으로 지정한 것과 <context:component-scan>와 혼용해서 사용한  경우 빈등록 순서 오류가 발생 할 수도 있습니다. 여러가지 방법이 있지만, 그 중에서 @PostConstruct ...