2013-04-10 95 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 
}); 
相关问题