2013-04-03 О JSных гридах
Материал из YourcmcWiki
(Новая страница: «Посранивал тут я гриды. А именно, jqGrid и, в очередной раз — dhtmlxGrid и ещё ExtJS’овский грид. И х…») |
м |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | Посранивал тут я гриды. А именно, jqGrid и, в очередной раз — dhtmlxGrid и ещё ExtJS’овский грид. И хочу сказать — | + | Посранивал тут я гриды. А именно, jqGrid и, в очередной раз — dhtmlxGrid и ещё ExtJS’овский грид. И хочу сказать — блин, какое-то фуфло)) |
− | # С ExtJS всё понятно — он в своём обычном репертуаре: умеет почти всё, но | + | # С [http://www.sencha.com/products/extjs/ ExtJS] всё понятно — он в своём обычном репертуаре: умеет почти всё, но ТОРМОЗИТ, требует МЕГАБАЙТ JS’а и долгое и мучительное конфигурирование — даже чтобы сделать в гриде тупой селектбокс, нужны дополнительные извращения. И баги там тоже есть — например, я не смог добиться, чтобы TreeGrid при изначальной загрузке полностью разворачивался — если указать expanded=true для всего, то при загрузке часть записей оказывается не на своём месте в иерархии (лечится сворачиванием и разворачиванием). Если же попытаться сделать expandAll по событию load, то все записи дублируются, и это уже не лечится никак. Кроме того, сегодня на работе долго ловили баг — в Store запись есть, а в гриде её нет. Кстати, я что-то даже не дождался окончания ловли. Но код аккуратный, это да. И документация хорошая. |
− | # jqGrid умеет довольно много, но всё равно меньше, чем ExtJS’овский. Например, не умеет drag’n’drop-ом перемещать элементы в иерархии. Но главный минус — он ещё и весь какой-то КОСОЙ! Даже единого стиля названий методов/аргументов не выдержано, и документация хромает (не очень качественно сделана на dokuwiki). Опции для селектов зачем-то задаются в одной строке типа <tt><nowiki>"id:name;id:name;id:name"</nowiki></tt> и т. п. Да и конфигурируется тоже не особо легко. | + | # [http://www.trirand.com/ jqGrid] умеет довольно много, но всё равно меньше, чем ExtJS’овский. Например, не умеет drag’n’drop-ом перемещать элементы в иерархии. Но главный минус — он ещё и весь какой-то КОСОЙ! Даже единого стиля названий методов/аргументов не выдержано, и документация хромает (не очень качественно сделана на dokuwiki). Опции для селектов зачем-то задаются в одной строке типа <tt><nowiki>"id:name;id:name;id:name"</nowiki></tt> и т. п. Да и конфигурируется тоже не особо легко. |
− | # А вот [http://www.dhtmlx.com/docs/products/dhtmlxGrid/ dhtmlxGrid] — хороший пример, он реально быстро работает и очень прост в конфигурации, и всё бы хорошо, если бы не одно «НО»: его полная версия, сцука, ПЛАТНАЯ :-(! Ну и собственно даже платная версия имеет странную лицензию — например, там есть пункт «The Licensee is not permitted to distribute the component(s) or its part(s) in any fashion which would promote, encourage, or allow reuse or redistribution of the JavaScript component(s)». Бугага. Это по их мнению вообще выполнимо в случае JS?<br />Но в целом, несмотря на отсутствие TreeGrid’а и полезных фишек типа фиксированных колонок мне | + | # А вот [http://www.dhtmlx.com/docs/products/dhtmlxGrid/ dhtmlxGrid] — хороший пример, он реально быстро работает и очень прост в конфигурации, и всё бы хорошо, если бы не одно «НО»: его полная версия, сцука, ПЛАТНАЯ :-(! Ну и собственно даже платная версия имеет странную лицензию — например, там есть пункт «The Licensee is not permitted to distribute the component(s) or its part(s) in any fashion which would promote, encourage, or allow reuse or redistribution of the JavaScript component(s)». Бугага. Это по их мнению вообще выполнимо в случае JS? А также вызывает вопрос — хотя бы продавать-то софтину, в составе который эта хрень тусуется, можно?<br />Но в целом, несмотря на отсутствие TreeGrid’а и полезных фишек типа фиксированных колонок мне GPL’ный вариант dhtmlxGrid’а всё равно нравится, ибо он БЫСТРЫЙ. Хотя внутри красота кода, по-моему, явно хромает.<br />Также теоретически, если никто не увидит :), то можно наверное стырить JS-ники со страничек с примерами про-версии. |
{{wl-publish: 2013-04-03 01:35:47 +0400 | VitaliyFilippov }} | {{wl-publish: 2013-04-03 01:35:47 +0400 | VitaliyFilippov }} |
Текущая версия на 00:52, 3 апреля 2013
Посранивал тут я гриды. А именно, jqGrid и, в очередной раз — dhtmlxGrid и ещё ExtJS’овский грид. И хочу сказать — блин, какое-то фуфло))
- С ExtJS всё понятно — он в своём обычном репертуаре: умеет почти всё, но ТОРМОЗИТ, требует МЕГАБАЙТ JS’а и долгое и мучительное конфигурирование — даже чтобы сделать в гриде тупой селектбокс, нужны дополнительные извращения. И баги там тоже есть — например, я не смог добиться, чтобы TreeGrid при изначальной загрузке полностью разворачивался — если указать expanded=true для всего, то при загрузке часть записей оказывается не на своём месте в иерархии (лечится сворачиванием и разворачиванием). Если же попытаться сделать expandAll по событию load, то все записи дублируются, и это уже не лечится никак. Кроме того, сегодня на работе долго ловили баг — в Store запись есть, а в гриде её нет. Кстати, я что-то даже не дождался окончания ловли. Но код аккуратный, это да. И документация хорошая.
- jqGrid умеет довольно много, но всё равно меньше, чем ExtJS’овский. Например, не умеет drag’n’drop-ом перемещать элементы в иерархии. Но главный минус — он ещё и весь какой-то КОСОЙ! Даже единого стиля названий методов/аргументов не выдержано, и документация хромает (не очень качественно сделана на dokuwiki). Опции для селектов зачем-то задаются в одной строке типа "id:name;id:name;id:name" и т. п. Да и конфигурируется тоже не особо легко.
- А вот dhtmlxGrid — хороший пример, он реально быстро работает и очень прост в конфигурации, и всё бы хорошо, если бы не одно «НО»: его полная версия, сцука, ПЛАТНАЯ :-(! Ну и собственно даже платная версия имеет странную лицензию — например, там есть пункт «The Licensee is not permitted to distribute the component(s) or its part(s) in any fashion which would promote, encourage, or allow reuse or redistribution of the JavaScript component(s)». Бугага. Это по их мнению вообще выполнимо в случае JS? А также вызывает вопрос — хотя бы продавать-то софтину, в составе который эта хрень тусуется, можно?
Но в целом, несмотря на отсутствие TreeGrid’а и полезных фишек типа фиксированных колонок мне GPL’ный вариант dhtmlxGrid’а всё равно нравится, ибо он БЫСТРЫЙ. Хотя внутри красота кода, по-моему, явно хромает.
Также теоретически, если никто не увидит :), то можно наверное стырить JS-ники со страничек с примерами про-версии.