ag-grid не отображает все мои строки.

Я ломаю голову над этим, но начинаю думать, что это может быть ошибка в ag-grid.

У меня есть сетка, которая (непоследовательно) отображает только 3 строки данных, когда я ожидаю 5. Для 2 отсутствующих строк есть пустое место.

Пейджер говорит 5 строк, и сетка, кажется, знает, что есть 5 строк (когда я прохожу через отладчик javascript). На самом деле, если я сортирую по сетке или изменяю размер окна так, чтобы сетка обеспечивала полосы прокрутки, внезапно появляются две другие строки.

Кто-нибудь видел что-нибудь подобное?

----Более подробная информация, но может не иметь значения: на этой конкретной странице у меня есть 2 сетки. Существует основная сетка, в которой есть ссылки, и когда вы нажимаете на ссылку, она скрывает основную сетку и показывает вам другую сетку. Я был обеспокоен тем, что это каким-то образом вступает в игру, но на самом деле я видел это на другой странице, над которой я работаю, где есть только 1 сетка.


person MsGirlPerl    schedule 07.07.2016    source источник
comment
Точно такая же проблема, с которой я столкнулся, и прошло 4 дня, я пытаюсь заставить ее работать. Я делаю вызов $http, и данные, которые я получаю, показывают только первые 3 строки. Если я снова вызову $http (скажем, у меня есть кнопка в пользовательском интерфейсе для этого), тогда данные отобразятся. Также, если вы прокручиваете сетку, она показывает данные. Вы смогли это исправить?   -  person jsmtslch    schedule 02.12.2016
comment
Кто-нибудь обновил рабочий plunker или stackblitz для решения этой проблемы. api.refreshview() устарел. Пробовал api.cellrefresh() и api.renderrowData()   -  person Ragavan Rajan    schedule 17.04.2019


Ответы (3)


Основываясь на различных объяснениях, которые я видел в Интернете, я попробовал это, и, похоже, это работает:

setTimeout(function ()
{
   $scope.gridOptions.api.refreshView();
}, 0);

Я называю это после
params.successCallback(pResponse.data);

который вызывает обратный вызов сетки

person MsGirlPerl    schedule 14.07.2016
comment
Где был этот ответ столько дней? :) Я не знаю, антипаттерн это или нет, но мое разочарование закончилось. Благодарю вас! - person jsmtslch; 02.12.2016
comment
Рад, что это помогло! - person MsGirlPerl; 05.12.2016

Основываясь на ваших наблюдениях о том, что сортировка или изменение размера окна приводит к появлению данных, у меня возникает ощущение, что код должен каким-то образом принудительно обновлять экран.

this.gridOptions.api.refreshView();

person Reenactor Rob    schedule 08.07.2016
comment
Спасибо, я забыл упомянуть, что пробовал это, и это не сработало, хотя, возможно, мне нужно вызвать его в другом месте кода. - person MsGirlPerl; 09.07.2016

У меня была аналогичная проблема, и я обнаружил, что мое значение gridOptions.rowHeight не соответствует фактической высоте моих строк (у меня был элемент флажка в каждой строке, который увеличивал высоту).

Как оказалось, средство визуализации строк AgGrid использует абсолютное местоположение в пикселях, чтобы вычислить, какие строки должны быть видны. Поэтому, если ваши фактические высоты строк приводят к тому, что строки не находятся в точном положении, в котором они должны быть, средство визуализации пропустит их.

По иронии судьбы, код позиционирования использует фактическое положение, поэтому отображаемые строки располагаются так, как если бы пропущенные строки все еще были там, что приводит к пустому пространству, описанному OP. .

person mopo922    schedule 13.01.2021