![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| EugeneK |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 26.12.2009 Репутация: нет Всего: нет |
Просьба сильно не пинать, поскольку только начал разбираться в данных вопросах, но сделать очень нужно)
Ситуация такова. Необходимо разбить страницу на 2 горизонтальные области следущим образом: В верхней части - таблица, являющаяся результатом работы хранимой процедуры из базы. Принимает диапазон дат и еще пару параметров. Размер возвращаемой результирующей таблицы - 30 столбцов и, как минимум, пара сотен строк. В нижней части страницы - таблица, содержимое которой определяется выбранной строкой из первой таблицы. Данных уже поменьше. Задача состоит в размещении этих таблиц на странице и более менее быстрой работе. Необходимо, чтобы данные не сползали вниз, и страница не увеличивалась, т.е. размер таблиц должен быть фиксирован. Пробовал использовать плагин к jquery dataTable. Использовал так: делал ajax запрос, вставлял в таблицу данные и "обрабатывал" таблицу плагином. Работает довольно шустро, но так и не разобрался со следующим: 1 - Что делать при повторном запросе? Пробовал удалять вручную таблицу и повторять процедуру создания(обработки плагином). Браузер просто вешается от нагрузки, хотя в первый раз тоже самое делал быстро. Конечно, хорошо бы задать настройки плагина на постоянную подгрузку данных через ajax. Но хранимая работает несколько секунд. Насколько производительно будет делать каждый раз запрос при вводе новых данных? Поэтому пока попробовал сделать проще - сначала выбираются даннные, а только потом их пользователь уже фильтрует. Можно пойти другим путем и использовать API плагина, в котором функция добавления строки принимаем 2d массив javascript. Но как тогда возвращать с сервера результат (использую JSP)? Может запихнуть в json, а потом преобразовать в массив? Но как это сделать и какая будет производительность, пока не знаю. Может стоит вообще тогда отказаться от загрузки по ajax для верхней таблицы? Еще такой момент: при добавлении в таблицу данных вручную с помощью функции добавления строки, выделение строки и взятие данных из нее содержимого необходимой ячейки работает нормально, даже из скрытого в данный момент столбца. А если "обрабатывать" плагином уже существующую таблицу, как сделано в моем случае, то не работает (событие click вообще не возникает) на тех строках, которые были скрыты при первом отображении на экране. Использовал пример из документации, где привязка идет к таблице с данными. 2 - Даже если разберусь с загрузкой данных, остается нерешенным вопрос о высоте таблицы. Хотелось бы, как в плагине Flexigrid, чтобы макс. высота была ограничена, т.е. необходима прокрутка. В dataTables таковой не нашел. Может кто работал с Flexigrid и подскажет, как можно будет там осуществить загрузку данных. Да и с шириной таблицы тоже не все гладко. В dataTables, если данные не влезают, то содержимое таблицы уходит вправо, а обрамление (то, что создал плагин) остается на экране и не перемещается при прокрутке страницы. Пока частичное решение - выборочное отображение столбцов и обрамление содержимого ячеек с длинными строками в input, чтобы ограничить макс. длину. Пробовал задавать параметры ширины столбца в плагине при инициализации, но длиные строки все равно не обрезаются. Буду благодарен за любые советы и замечания) |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Применение библиотек | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |