SMART datagrid v1.4 > Concepts

Back  Forward

Concepts.Menu Overview

그리드 displayOptionspreventSystemMenutrue가 아니라면, SMART datagrid 내부를 오른쪽 마우스로 클릭할 때, 브라우저의 컨텍스트 메뉴 대신 그리드가 GridBase.setContextMenusetDefaultContextMenu로 지정된 팝업 메뉴를 표시한다. 또, 컬럼에 popupMenu가 설정되면 데이터셀의 메뉴 버튼을 클릭할 때, GridBase.registerPopupMenu로 등록된 해당 팝업 메뉴를 표시한다. 두 경우 모두 아래의 속성들이 포함된 객체 배열로 메뉴를 지정한다. 

Code -1
    grid.setContextMenu([{
        label: "Add Row",
        callback: function () {
            grdMain.insert();
            grdMain.setFocus();
        }
    }, {
        label: "Delete Rows",
        callback: function () {
            grdMain.deleteSelection();
        }
    }, {
        label: "-" // menu separator
    }, {
        label: "Excel Export",
        tag: 'excel'
    }]);
Table-1  팝업 메뉴 아이템 속성들
속성설명
'type'지정하지 않거나, 'check', 'radio'일 수 있다. 'check'이면 메뉴 항목을 클릭할 때마다 'checked' 상태가 변경된다. 'radio'이면 메뉴 항목을 클릭할 때, 'group'이 같은 다른 항목들의 'checked'는 false가 되고 클릭된 항목은 true가 된다.
'checked'가 true인 항목의 왼쪽에 check 마크가 표시된다. 'radio'이면 작은 원이 표시된다. 또, 'checked' 상태는 다른 속성들과 함께 메뉴 콜백 함수에 전달된다.
'visible'false면 이 항목은 메뉴에 표시되지 않는다. 기본값은 true다.
'enabled'false면 이 항목을 클릭해서 콜백을 실행할 수 없다. 기본값은 true다.
'label'항목에 표시되는 텍스트. '-'로 설정하면 메뉴 구분선이 된다.
'group''type'이 'radio'일 때 이 메뉴 항목을 클릭하면 이 값이 같은 다른 항목들의 'checked'는 false가 되고, 이 메뉴 항목의 'checked'는 true가 된다.
'checked''type'이 'check'일 때 이 메뉴 항목을 클릭하면 이 값이 true, false로 토글된다.
'tag'이 메뉴 항목을 구분할 임의의 값을 지정해서 사용한다.
'children'하위 메뉴 항목들을 배열로 지정한다.
'callback'이 메뉴 항목이 클릭됐을 때 실행될 콜백 함수.
    function (data) { if (data.tag == 'abc') {} }
'data'에는 이 메뉴 항목 속성들이 포함돼서 전달된다.
'displayCallback'이 메뉴 항목을 표시할 것인 지를 지정하는 콜백 함수. 이 함수를 지정하지 않으면 visible에 따라 표시 여부가 결정된다.
    function (data) { return value > 10; }
'data'에는 이 메뉴 항목 속성들이 포함돼서 전달된다. ((ver 1.4.0)
'childrenCallback'이 메뉴 항목의 자식 항목들을 리턴하는 콜백 함수.
    function (data) { return value > 10 ? menus_1 : menus_2; }
'data'에는 이 메뉴 항목 속성들이 포함돼서 전달된다. ((ver 1.4.0)
'checkedCallback'이 메뉴 항목의 checked 상태를 리턴하는 콜백 함수. 이 함수를 지정하지 않으면 checked에 따라 표시 여부가 결정된다.
    function (data) { return value > 10; }
'data'에는 이 메뉴 항목 속성들이 포함돼서 전달된다. ((ver 1.4.0)
See Also
GridBase.setContextMenu
GridBase.setDefaultContextMenu
GridBase.registerPopupMenu
GridBase.unregisterPopupMenu
GridBase.getPopupMenu
GridBase.onPopupMenuClicked
popupMenu
Examples
컨텍스트 메뉴
컬럼 팝업 메뉴