2013-04-03 О JSных гридах

Материал из YourcmcWiki
Перейти к: навигация, поиск
(Новая страница: «Посранивал тут я гриды. А именно, jqGrid и, в очередной раз — dhtmlxGrid и ещё ExtJS’овский грид. И х…»)
 
м
Строка 3: Строка 3:
 
# С ExtJS всё понятно — он в своём обычном репертуаре: умеет почти всё, но выглядит это так: загрузите МЕГАБАЙТ JS’а, и потом после долгого и мучительного конфигурирования да, у вас будет крутой грид… который, правда, всё равно ЛАГАЕТ. И всё равно имеет баги — например, я не смог добиться, чтобы TreeGrid при изначальной загрузке полностью разворачивался — если указать expanded=true для всего, то при загрузке часть записей оказывается не на своём месте в иерархии (лечится сворачиванием и разворачиванием). Если же попытаться сделать expandAll по событию load, то все записи дублируются, и это уже не лечится никак. Кроме того, сегодня на работе долго ловили баг — в Store запись есть, а в гриде её нет. Кстати, я что-то даже не дождался окончания ловли.
 
# С ExtJS всё понятно — он в своём обычном репертуаре: умеет почти всё, но выглядит это так: загрузите МЕГАБАЙТ JS’а, и потом после долгого и мучительного конфигурирования да, у вас будет крутой грид… который, правда, всё равно ЛАГАЕТ. И всё равно имеет баги — например, я не смог добиться, чтобы TreeGrid при изначальной загрузке полностью разворачивался — если указать expanded=true для всего, то при загрузке часть записей оказывается не на своём месте в иерархии (лечится сворачиванием и разворачиванием). Если же попытаться сделать expandAll по событию load, то все записи дублируются, и это уже не лечится никак. Кроме того, сегодня на работе долго ловили баг — в Store запись есть, а в гриде её нет. Кстати, я что-то даже не дождался окончания ловли.
 
# jqGrid умеет довольно много, но всё равно меньше, чем ExtJS’овский. Например, не умеет drag’n’drop-ом перемещать элементы в иерархии. Но главный минус — он ещё и весь какой-то КОСОЙ! Даже единого стиля названий методов/аргументов не выдержано, и документация хромает (не очень качественно сделана на dokuwiki). Опции для селектов зачем-то задаются в одной строке типа <tt><nowiki>"id:name;id:name;id:name"</nowiki></tt> и т. п. Да и конфигурируется тоже не особо легко.
 
# 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’а и полезных фишек типа фиксированных колонок мне GPL’ная его версия всё равно нравится, ибо БЫСТРАЯ.
+
# А вот [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’ная его версия всё равно нравится, ибо БЫСТРАЯ.<br />Также теоретически, если никто не увидит :), то можно наверное стырить JS-ники со страничек с примерами про-версии.
 
{{wl-publish: 2013-04-03 01:35:47 +0400 | VitaliyFilippov }}
 
{{wl-publish: 2013-04-03 01:35:47 +0400 | VitaliyFilippov }}

Версия 00:37, 3 апреля 2013

Посранивал тут я гриды. А именно, jqGrid и, в очередной раз — dhtmlxGrid и ещё ExtJS’овский грид. И хочу сказать — dhtmlxGrid рулит, а остальное, блин, какое-то фуфло))

  1. С ExtJS всё понятно — он в своём обычном репертуаре: умеет почти всё, но выглядит это так: загрузите МЕГАБАЙТ JS’а, и потом после долгого и мучительного конфигурирования да, у вас будет крутой грид… который, правда, всё равно ЛАГАЕТ. И всё равно имеет баги — например, я не смог добиться, чтобы TreeGrid при изначальной загрузке полностью разворачивался — если указать expanded=true для всего, то при загрузке часть записей оказывается не на своём месте в иерархии (лечится сворачиванием и разворачиванием). Если же попытаться сделать expandAll по событию load, то все записи дублируются, и это уже не лечится никак. Кроме того, сегодня на работе долго ловили баг — в Store запись есть, а в гриде её нет. Кстати, я что-то даже не дождался окончания ловли.
  2. jqGrid умеет довольно много, но всё равно меньше, чем ExtJS’овский. Например, не умеет drag’n’drop-ом перемещать элементы в иерархии. Но главный минус — он ещё и весь какой-то КОСОЙ! Даже единого стиля названий методов/аргументов не выдержано, и документация хромает (не очень качественно сделана на dokuwiki). Опции для селектов зачем-то задаются в одной строке типа "id:name;id:name;id:name" и т. п. Да и конфигурируется тоже не особо легко.
  3. А вот 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’ная его версия всё равно нравится, ибо БЫСТРАЯ.
    Также теоретически, если никто не увидит :), то можно наверное стырить JS-ники со страничек с примерами про-версии.