Краткая версия: Возможно ли получить доступ к dataView в рамках этого метода подписки?Slickgrid onClick ... Как обновить dataView без глобального dataView?
grid.onClick.subscribe(function(e, args) {
var rowData= args.grid.getDataItem(args.row);
//want to update data in dataView for this row
});
(В другом месте в моем модуле я есть)
dataView.onRowsChanged.subscribe(function(e, args){
grid.invalidateRows(args.rows);
grid.render();
});
Long Version: Я создал универсальный модуль JavaScript для Slickgrid в моем приложении для повторного использования. Он принимает columnCollection, dataCollection, filterArgs, filterMethods, и теперь я в сценарии, когда в onClick есть некоторая бизнес-логика, которая с точки зрения организации не нужна в моем общем модуле. Если бы я должен был передать clickMethod в мой модуль, как бы я обновил dataView при щелчке. (Я надеюсь, что это имеет смысл.)
модуль будет что-то вроде ...
var options = _.extend(DEFAULT_OPTIONS, params.options);
var dataView = new Slick.Data.DataView({inlineFilters:true});
var grid = new Slick.Grid('#grid', dataView, params.columnsObj, options);
if(options.myClickMethod !== undefined){
grid.onClick.subscribe(function(e,args){
options.myClickMethod(e,args);
});
}
большое спасибо. – Kirby