2013-04-10 100 views
0

在我的項目中,行更改時可以觸發onSelectedRowsChanged事件,但當同一行中的活動單元格更改時也可以觸發onSelectedRowsChanged事件,實際上我們不希望它發生。它在slickgrid exaple4-model.html頁面測試,代碼是在這裏:SlickGrid onSelectedRowsChanged在同一行中的單元格更改時仍然會被觸發

grid.onSelectedRowsChanged.subscribe(function (e, args) { 
     window.console.log("fire selected events..."); 
    }); 

任何人都可以找到一個很好的解決方案,以避免這種情況?感謝您的回覆或建議。

回答

3
//This works for me: 

grid.setSelectionModel(new Slick.RowSelectionModel()); 

//onCellChange event, track current row. 

var rowIndex; 

grid.onCellChange.subscribe(function (e, args) { 
    rowIndex = args.row; 
}); 

//onSelectedRowsChanged event, if row number was changed call some function. 

grid.onSelectedRowsChanged.subscribe(function (e, args) { 
    if (grid.getSelectedRows([0])[0] !== rowIndex) { 
     call function; 
    } 
}); 
0

這項工作對我來說

//Declare Global Variable 
var lastSelectedId; 

grid.onCellChange.subscribe(function (e, args) { 
    var selectedItem = grid.getDataItem(grid.getSelectedRows(0[0]); 
    if (selectedItem.id != lastSelectedId){ 
     //Actions go here! 
    } 
    lastSelectedId = selectedItem.id 
}); 
相關問題