оптимизация таблицы
Приветствую всех,
я делаю "свою" таблицу на дивах и сейчас пытаюсь ускорить её функционал, узким местом на данный момент является перемещение по записям....грубо говоря если записей допустим 100 то перемещение с одной записи на следующую происходит довольно быстро, а вот если записей тысяча, то появляются тормоза. Собственно вопрос - может кто решал данную проблему, подскажите пожалуйста как можно оптимизировать. В данный момент следующая запись определяется так var cell_index=obj.selectedCell.attr("cell"); obj.selectedRow.next().children("div[cell="+cell_index+"]").focus(); структура обобщенно такая: <div class="ROW"> <div class="Cell" cell="0">1</div> <div class="Cell" cell="1">1</div> </div> Всем заранее спасибо |
насколько я понять суть вопроса то вы имеете введу строки.
а теперь задумайтесь над тем почему тот же gmail не показывает вам все 100500 писем сразу. подумали?это хорошо:) А теперь я вам приведу пример когда все же нужно что бы на экране было хоть 100 000 записей:). И так на экране пользователь может увидеть только скажем 100 записей остальные находятся вверху или внизу. это значит, что мы можем сделать что бы на экране отрисовывалось только 150 записей. Но когда пользователь пролистывает вниз мы можем ему делать рефреш страницы не заметный для него тем самым ему будет казаться что у него 100500 записей хотя на самом деле они все находятся гдето в sql а мы с помощью xml и js рисуем ему только часть записей. В этого вы можете сделать у каждой строчки айдишник с помощью которого вы можете попросить у sql нужную вам строчку для отрисовки ее. Думаю, что быстрей переходить между строчками когда их очень многоу вас не получится. |
Цитата:
|
ksa
вот и я ему о том же:) |
Мы тут как-то экспериментировали с ребятами... :D
|
Спасибо Вам за советы,
буду думать насчет постраничного отображения. По поводу вопроса "зачем" - пытаюсь найти золотую середину между количество запросов к бэкэнду, простотой использования контролла, скоростью его работы и удобством для пользователя, т.к. эта таблица не для сайтов будет а для веб приложения, поэтому честно признаюсь не хотел постраничного отображения...но судя по всему придется всё таки о ней подумать. Еще раз спасибо за ответы |
посмотри как сейчас сделана лента новстей в контакте у них постепенная подгрузка контента.
|
У меня будут данные которые можно будет сортировать....так что это не подойдет.
Так как таблица будет использоваться всего в двух местах - в документах и форме журнала документов, то в первом случае врятли будет 1000 позиций а во втором можно разбить журнал по дням допустим....что нить придумаю. |
тогда только мой первы вариант который я вам предложил:)ну или как вы говорите разбить на 100500 страниц:)
|
igrok,
Я несколько месяцев назад есчё занимался разработкой подобного виджета. Он понадобился для одного проекта на основе вебкита, так что в других браузерах есть некоторые несоответствия. Если есть заинтересованные, то можно было бы заняться совместной разработкой. |
Часовой пояс GMT +3, время: 20:27. |