EXT Grid зависает при перезагрузке - PullRequest
1 голос
/ 23 февраля 2011

Использование EXT Grid для отображения данных в реальном времени. Сетка обновляется раз в секунду. Он прокручивался до самого верха при каждом обновлении, пока я не отверг функцию scrollToTop.

Ext.override(Ext.grid.GridView, { 
    scrollToTop: Ext.emptyFn
});

Тем не менее, он все еще зависает (предотвращает прокрутку) в течение нетривиального периода времени. Как мне избавиться от зависания?

Ответы [ 2 ]

1 голос
/ 23 февраля 2011

Очевидно, что сетке потребуется некоторое нетривиальное количество времени для рендеринга 400 строк данных.Вы можете попытаться уменьшить рабочую нагрузку рендеринга, сделав разметку сетки как можно более легкой (без причудливых средств визуализации и т. Д.), Но лучше всего подождать с ExtJS версии 4 (которая по общему мнению предлагает огромный прирост производительности сетки ), или, если вы хотите использовать плагины, взгляните на Ext.ux.Livegrid .

0 голосов
/ 15 мая 2015

просто так:

function OrderInfoLoad() {
    var scrollTop = Efs.getExt("ordergrid").getView().scroller.dom.scrollTop;
    var scrollHeight = Efs.getExt("ordergrid").getView().scroller.dom.scrollHeight;
    Efs.Common.ajax("../sysadmin/baseRefWeb.aspx?method=CarManage_Order&pid=0", "", function (succ, response, options) {
        if (succ) { // 是否成功
            var xmlReturnDoc = response.responseXML;
            Efs.getExt("ordergrid").getStore().loadData(xmlReturnDoc);
            Efs.getExt("ordergrid").getView().scroller.dom.scrollTop = scrollTop
                        + (scrollTop == 0
                                ? 0
                                : Efs.getExt("ordergrid").getView().scroller.dom.scrollHeight
                                        - scrollHeight);
        }

    });
}

Вы должны запомнить свиток и перезагрузить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...