Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Переписать Ext.grid.property.Grid (https://javascript.ru/forum/extjs/55973-perepisat-ext-grid-property-grid.html)

khusamov 23.05.2015 20:34

Переписать Ext.grid.property.Grid
 
Здравствуйте!

Я хочу переписать штатный Ext.grid.property.Grid так как там не хватает много функций (группировка свойств, скрытие шапки таблицы, иерархия свойств и пр.). Возникли первые две проблемы:

1) как правильно скрыть названия столбцов?
2) как включить возможность менять ширину столбцов, когда названия столбцов скрыты?

Первую проблему я решил костылем следующего вида:

listeners: {
	render: function() { this.down("headercontainer").setHeight(0); } 
}


И вопрос - есть ли более нормальное решение по скрытию названий столбцов?

А вторую проблему пока не знаю как решить, кроме разве что встраивания своего сплиттера. Штатного не нашел. Может он все-таки есть? Как его включить, если есть?

Raydezm 24.05.2015 00:14

1 - как на счёт заменить HTML шаблон? Просто переопределив на верстку без ненужного.

khusamov 24.05.2015 05:30

Цитата:

Сообщение от Raydezm (Сообщение 372093)
1 - как на счёт заменить HTML шаблон? Просто переопределив на верстку без ненужного.

Если я это сделаю, то layout таблицы перестанет отрабатывать. Он сильно зависит от шапки таблицы. Даже простой .hide() шапки ломает рендеринг таблицы.

novikov 25.05.2015 13:22

как правильно скрыть названия столбцов?

http://docs.sencha.com/extjs/5.1/5.1...fg-hideHeaders


как включить возможность менять ширину столбцов, когда названия столбцов скрыты?

http://docs.sencha.com/extjs/5.1/5.1...leColumnResize

http://docs.sencha.com/extjs/5.1/5.1...t-columnresize

khusamov 25.05.2015 22:32

hideHeaders не заметил, однако! Спасибо!

А вот enableColumnResize работает лишь когда hideHeaders = false. А мне нужно названия столбцов скрыть, а вот возможность менять ширину оставить.

nohuhu 27.05.2015 02:06

Я смотрю в код Ext.grid.plugin.HeaderResizer, который занимается изменением размеров колонок в заголовке, и понимаю, что при скрытых заголовках это работать не будет.

Если есть большое желание, можете сделать свой плагин по образу и подобию HeaderResizer. Хотя можно и проще: уберите текст из заголовков колонок и задайте контейнеру заголовков небольшую высоту, порядка 10px. Будет смотреться не уродливо и работать в штатном порядке.

khusamov 27.05.2015 14:36

Цитата:

Если есть большое желание, можете сделать свой плагин по образу и подобию HeaderResizer. Хотя можно и проще: уберите текст из заголовков колонок и задайте контейнеру заголовков небольшую высоту, порядка 10px. Будет смотреться не уродливо и работать в штатном порядке.
Плагин я сделаю, а вот этим способом я воспользуюсь. Действительно идея классная. Спасибо!

khusamov 27.05.2015 14:40

10 пикселей поставил высоту, но похоже что-то не было рассчитано на это. При попытке изменения ширины колонки layout (или что там еще) ломается. Причем это отражается даже на toast-окошках.

nohuhu 27.05.2015 21:25

Fiddle?

khusamov 28.05.2015 15:38

в песочницу? ок, чуть позже подготовлю, так как это я проверял в проекте, откуда так просто не вытащить.


Часовой пояс GMT +3, время: 08:38.