Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.03.2011, 11:24
Аспирант
Отправить личное сообщение для igrok Посмотреть профиль Найти все сообщения от igrok
 
Регистрация: 09.07.2010
Сообщений: 98

оптимизация таблицы
Приветствую всех,
я делаю "свою" таблицу на дивах и сейчас пытаюсь ускорить её функционал, узким местом на данный момент является перемещение по записям....грубо говоря если записей допустим 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>


Всем заранее спасибо

Последний раз редактировалось igrok, 16.03.2011 в 11:40.
Ответить с цитированием
  #2 (permalink)  
Старый 16.03.2011, 11:37
Профессор
Отправить личное сообщение для розовый слоник Посмотреть профиль Найти все сообщения от розовый слоник
 
Регистрация: 17.10.2009
Сообщений: 258

насколько я понять суть вопроса то вы имеете введу строки.
а теперь задумайтесь над тем почему тот же gmail не показывает вам все 100500 писем сразу. подумали?это хорошо
А теперь я вам приведу пример когда все же нужно что бы на экране было хоть 100 000 записей.

И так на экране пользователь может увидеть только скажем 100 записей остальные находятся вверху или внизу. это значит, что мы можем сделать что бы на экране отрисовывалось только 150 записей. Но когда пользователь пролистывает вниз мы можем ему делать рефреш страницы не заметный для него тем самым ему будет казаться что у него 100500 записей хотя на самом деле они все находятся гдето в sql а мы с помощью xml и js рисуем ему только часть записей.

В этого вы можете сделать у каждой строчки айдишник с помощью которого вы можете попросить у sql нужную вам строчку для отрисовки ее.

Думаю, что быстрей переходить между строчками когда их очень многоу вас не получится.
Ответить с цитированием
  #3 (permalink)  
Старый 16.03.2011, 11:38
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,205

Сообщение от igrok
а вот если записей тысяча, то появляются тормоза.
Зачем на страничке такая таблица?
Ответить с цитированием
  #4 (permalink)  
Старый 16.03.2011, 11:40
Профессор
Отправить личное сообщение для розовый слоник Посмотреть профиль Найти все сообщения от розовый слоник
 
Регистрация: 17.10.2009
Сообщений: 258

ksa
вот и я ему о том же
Ответить с цитированием
  #5 (permalink)  
Старый 16.03.2011, 11:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,205

Мы тут как-то экспериментировали с ребятами...
Ответить с цитированием
  #6 (permalink)  
Старый 16.03.2011, 11:47
Аспирант
Отправить личное сообщение для igrok Посмотреть профиль Найти все сообщения от igrok
 
Регистрация: 09.07.2010
Сообщений: 98

Спасибо Вам за советы,
буду думать насчет постраничного отображения.
По поводу вопроса "зачем" - пытаюсь найти золотую середину между количество запросов к бэкэнду, простотой использования контролла, скоростью его работы и удобством для пользователя, т.к. эта таблица не для сайтов будет а для веб приложения, поэтому честно признаюсь не хотел постраничного отображения...но судя по всему придется всё таки о ней подумать.

Еще раз спасибо за ответы
Ответить с цитированием
  #7 (permalink)  
Старый 16.03.2011, 11:53
Профессор
Отправить личное сообщение для розовый слоник Посмотреть профиль Найти все сообщения от розовый слоник
 
Регистрация: 17.10.2009
Сообщений: 258

посмотри как сейчас сделана лента новстей в контакте у них постепенная подгрузка контента.
Ответить с цитированием
  #8 (permalink)  
Старый 16.03.2011, 12:40
Аспирант
Отправить личное сообщение для igrok Посмотреть профиль Найти все сообщения от igrok
 
Регистрация: 09.07.2010
Сообщений: 98

У меня будут данные которые можно будет сортировать....так что это не подойдет.
Так как таблица будет использоваться всего в двух местах - в документах и форме журнала документов, то в первом случае врятли будет 1000 позиций а во втором можно разбить журнал по дням допустим....что нить придумаю.
Ответить с цитированием
  #9 (permalink)  
Старый 16.03.2011, 13:24
Профессор
Отправить личное сообщение для розовый слоник Посмотреть профиль Найти все сообщения от розовый слоник
 
Регистрация: 17.10.2009
Сообщений: 258

тогда только мой первы вариант который я вам предложилну или как вы говорите разбить на 100500 страниц
Ответить с цитированием
  #10 (permalink)  
Старый 21.03.2011, 19:55
Профессор
Отправить личное сообщение для SV0L0CH Посмотреть профиль Найти все сообщения от SV0L0CH
 
Регистрация: 07.11.2010
Сообщений: 301

igrok,
Я несколько месяцев назад есчё занимался разработкой подобного виджета. Он понадобился для одного проекта на основе вебкита, так что в других браузерах есть некоторые несоответствия.
Если есть заинтересованные, то можно было бы заняться совместной разработкой.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсветка столбцов таблицы ctocopok Элементы интерфейса 31 14.06.2011 01:42
Как реализовать скроллинг в Div-е до указанной строки таблицы. Shabol Элементы интерфейса 3 24.09.2010 14:19
Ширина таблицы Syltan (X)HTML/CSS 1 01.05.2010 22:33
Оптимизация прорисовки таблицы frid-karatel Firefox/Mozilla 18 29.12.2009 17:35
Фиксированный заголовок таблицы ilshat Элементы интерфейса 6 20.12.2008 00:35