Slickgrid внутри JQuery аккордеон столбцы не отображается должным образом
Я использую slickgrid внутри Jquery аккордеона и всякий раз, когда страница обновляется и аккордеон расширяются столбцы внутри сетки, все в порядке и уничтожены. Я пробовал использовать
grid.resizeCanvas();
внутри мой аккордеон безрезультатно.
Вот мой код.
var grid = (grid1, grid2, grid3);
$('#accordion').accordion({
collapsible: true,
beforeActivate: function (event, ui) {
grid.resizeCanvas();
// The accordion believes a panel is being opened
if (ui.newHeader[0]) {
var currHeader = ui.newHeader;
var currContent = currHeader.next('.ui-accordion-content');
// The accordion believes a panel is being closed
} else {
var currHeader = ui.oldHeader;
var currContent = currHeader.next('.ui-accordion-content');
}
// Since we've changed the default behavior, this detects the actual status
var isPanelSelected = currHeader.attr('aria-selected') == 'true';
// Toggle the panel's header
currHeader.toggleClass('ui-corner-all', isPanelSelected).toggleClass('accordion-header-active ui-state-active ui-corner-top', !isPanelSelected).attr('aria-selected', ((!isPanelSelected).toString()));
// Toggle the panel's icon
currHeader.children('.ui-icon').toggleClass('ui-icon-triangle-1-e', isPanelSelected).toggleClass('ui-icon-triangle-1-s', !isPanelSelected);
// Toggle the panel's content
currContent.toggleClass('accordion-content-active', !isPanelSelected)
if (isPanelSelected) { currContent.slideUp(); } else { currContent.slideDown(); }
return false; // Cancels the default action
}
});
Update Я попытался с помощью
var grid = [grid1, grid2, grid3];
$("#accordion").accordion({
afterActivate: function (event, ui) {
grid[0].resizeCanvas();
}
});
это тоже не работал, к сожалению.
Попробуйте создать «сетку» массива. 'var grid = [grid1, grid2, grid3];' затем обращаясь к ним как 'grid [0] .resizeCanvas();' –
попытался сделать это без каких-либо успехов на данный момент. Когда вы закрываете аккордеон, все столбцы реорганизуются непосредственно перед завершением анимации закрытия. –
Есть функция 'afterActivate' на аккордеоне? Как правило, контейнер div должен быть видимым и иметь высоту для занимаемой сетки. – Edward