Il codice soffietto è una modifica al plugin. Funziona controllando il numero di elementi nei dati della griglia e calcolando l'altezza in base a quello. Le opzioni passate al plug-in sono l'altezza della riga e l'altezza dell'intestazione.
ngGridCustomFlexibleHeightPlugin = function (opts) {
var self = this;
self.grid = null;
self.scope = null;
self.init = function (scope, grid, services) {
self.domUtilityService = services.DomUtilityService;
self.grid = grid;
self.scope = scope;
var recalcHeightForData = function() { setTimeout(innerRecalcForData, 1); };
var innerRecalcForData = function() {
var gridId = self.grid.gridId;
var footerPanelSel = '.' + gridId + ' .ngFooterPanel';
var extraHeight = self.grid.$topPanel.height() + $(footerPanelSel).height();
var naturalHeight = (grid.data.length - 1) * opts.rowHeight + opts.headerRowHeight;
self.grid.$viewport.css('height', (naturalHeight + 2) + 'px');
self.grid.$root.css('height', (naturalHeight + extraHeight + 2) + 'px');
// self.grid.refreshDomSizes();
if (!self.scope.$$phase) {
self.scope.$apply(function() {
self.domUtilityService.RebuildGrid(self.scope, self.grid);
});
}
else {
// $digest or $apply already in progress
self.domUtilityService.RebuildGrid(self.scope, self.grid);
}
};
scope.$watch(grid.config.data, recalcHeightForData);
};
};
fonte
2014-03-03 17:37:30
mi era stato in esecuzione in questi e altri problemi e ha iniziato un tentativo di risolvere il problema (vedi la forchetta sul ramo GitHub improve_layout https://github.com/a5sk4s/ng-grid/tree/improve_layout) - questo è in lavorazione e potrebbe introdurre nuovi problemi - vedere un fork del tuo plunk qui: http://plnkr.co/edit/06CYAGjVURxGxDfX8wnt (alcuni problemi di layout, perché ho cambiato ng-grid.css e non posso fare riferimento) - spero che aiuti – Andreas
Grazie Andreas. Ero preoccupato che non stavo usando il plugin correttamente o persino ngGrid. Sembra che abbia qualche problema in questo momento. Per questo particolare problema, sai quali articoli hai modificato nel tuo ramo? Posso apportare le modifiche localmente dove non penso che usare quel ramo sia un'opzione per me. –
Andreas, il tuo link al tuo plunker è rotto. – Rob