2012-11-02 2 views
0

slickgrid를 사용하여 특정 데이터를 표시하고 있습니다. 어떻게 slickgrid 행에 사용자 지정 메서드를 추가 할 수 있습니까?키 누르기 SlickGrid에서 사용자 정의 메서드 호출

예 : 입력 키를 누를 때마다 현재 행 데이터로 모달 상자를 열려고합니다. 당신이 이벤트를 쓸 수있는이 update_invoice_product_qty 클래스 이름을 사용

+1

우리에게 코드를 알려주고 jsfiddle을 만드는 것도 좋습니다. –

답변

4

격자에서 onKeyDown 이벤트를 구독하여이를 확인할 수 있습니다. 다음과 같음 :

grid.onKeyDown.subscribe(function(e) { 
    if (e.which == 13) { 
     // open modal window 
    } 
}); 

이 정보가 도움이되는지 알려주세요.

0

내가 당신의 요구 사항을 가지고 있다면,이 코드를 시도,

createInvoiceDetailsTable : function() { 
    var gridOptions, gridColumns; 

    gridColumns = [ 
     {id:'ean_code', name:'EAN', field:'ean_code', width:125, cssClass: 'grid-cell'}, 
     {id:'description', name:'Product Description', field:'description', width:250, formatter:opr.invoice.productGridDescriptionFormatter, cssClass: 'grid-cell'}, 
     {id:'qty', name:'Qty', field:'qty', width:40, , formatter:UpdateQtyBtnFormatter}, 
    ]; 



    gridOptions = { 
     editable: true, 
     autoEdit: true, 
     enableAddRow: false, 
     enableCellNavigation: true, 
     asyncEditorLoading: false, 
     enableColumnReorder: false, 
     rowHeight: 35 
    }; 

    dataView = new Slick.Data.DataView(); 
    invoiceProductGrid = new Slick.Grid($('#invoice_details_grid_div'), dataView , gridColumns, gridOptions); 

    function UpdateQtyBtnFormatter (row, cell, value, columnDef, dataContext) { 
     return '<input type="button" style="width:30px; height:30px;" class="update_invoice_product_qty" id="' + value + '" value="Q"/>'; 
} 
} 

.

귀하의 요구 사항이 아닌 경우 이전에 시도한 코드 또는 절차와 공유하십시오.