Конченый пример еще не качал, не смотрел, завтра гляну. В по примерам - расхождение в именовании переменных (ColumnsList = new ColumnsDispatcher(); в описании диспетчера столбцов и ColsList.add(this); в описании класс столбца).
Далее, использовать евал для того, чтобы просто определить знак сравнения - довольно неэкономично. Тут уж лучше воткнуть две лишних строки if, чем каждый раз гонять все те операции, что ваыполняются при вызове eval'а.
Еще не особо логична связь между классом столбца и классом диспетчера. А именно, то что добавление столбцов в список диспетчера идет из конструктора класса столбца и завязано на конкретный экземпляр с конкретным именем. Имхо, логичнее было бы что-нить типа var jsManager = new ColumnsDispatcher('table1'); jsManager.add('title', 'strings'); jsManager.add('sell', 'numbers'); jsManager.add('rate', 'numbers');
А генерацию объектов столбцов скрыть уже внутри диспеитчера. Привязка диспетчера к таблице, как у меня написано, совершенно необязательна, хотя и может немного упростить.
Блин, вчера начал писать коммент, а меня стали торопить. Вот и вышло как-то академически-наставительно-сухо... ;-)
Не бред, достаточно полезная штука. Я когда-то подобное делал, но оно работало весьма неаккуратно и куда менее универсально. И чуть позже народ, который этим проектом занимался после меня, переделал на банальную перегрузку таблицы аяксом. Во многих случаях может оказаться быстрее.
пост древний, но обязательно изучу. как раз надо (именно и только) сортировка. фильтр-поиск по таблице сделал. пагинацию сделал. а вот с сортировкой затык. готовых решений много, но Ваш заинтересовал подробным описанием и хорошим знанием вопроса. искренне благодарю.
Comments 14
Reply
Reply
Конченый пример еще не качал, не смотрел, завтра гляну. В по примерам - расхождение в именовании переменных (ColumnsList = new ColumnsDispatcher(); в описании диспетчера столбцов и ColsList.add(this); в описании класс столбца).
Далее, использовать евал для того, чтобы просто определить знак сравнения - довольно неэкономично. Тут уж лучше воткнуть две лишних строки if, чем каждый раз гонять все те операции, что ваыполняются при вызове eval'а.
Еще не особо логична связь между классом столбца и классом диспетчера. А именно, то что добавление столбцов в список диспетчера идет из конструктора класса столбца и завязано на конкретный экземпляр с конкретным именем. Имхо, логичнее было бы что-нить типа
var jsManager = new ColumnsDispatcher('table1');
jsManager.add('title', 'strings');
jsManager.add('sell', 'numbers');
jsManager.add('rate', 'numbers');
А генерацию объектов столбцов скрыть уже внутри диспеитчера. Привязка диспетчера к таблице, как у меня написано, совершенно необязательна, хотя и может немного упростить.
Reply
А глобально не совсем бред? Не нашла пока ни одной нормальной книги по js нет (
Reply
Блин, вчера начал писать коммент, а меня стали торопить. Вот и вышло как-то академически-наставительно-сухо... ;-)
Не бред, достаточно полезная штука. Я когда-то подобное делал, но оно работало весьма неаккуратно и куда менее универсально. И чуть позже народ, который этим проектом занимался после меня, переделал на банальную перегрузку таблицы аяксом. Во многих случаях может оказаться быстрее.
По поводу книжек. Могу порекомендовать вот эти:
http://www.ozon.ru/context/detail/id/2480888/
http://www.ozon.ru/context/detail/id/3881091/
Первая настольная для меня, вторая - для соседа по работе ;-)
Reply
respect
Reply
Reply
Reply
Reply
как раз надо (именно и только) сортировка.
фильтр-поиск по таблице сделал.
пагинацию сделал.
а вот с сортировкой затык.
готовых решений много, но Ваш заинтересовал подробным описанием и хорошим знанием вопроса.
искренне благодарю.
Reply
Leave a comment