Изменение высоты заголовков grid-а
Почему когда я пытаюсь поменять высоту заголовков колонок
listeners: { render: function() { this.getHeaderContainer().setHeight(60); } } то сплиттер между названиями колонок начинает генерировать ошибку Cannot read property 'heightModel' of null, при попытке его сдвинуть? Код в песочнице https://fiddle.sencha.com/#fiddle/ptb |
Потому что не надо ничего делать в render, onRender, afterRender. И вообще не надо высоту выставлять программно, пользуйтесь конфигурацией:
Код:
Ext.create('Ext.grid.Panel', { |
Нужен способ ПРОГРАММНЫЙ, так как такой финт как
columns: { height: 10, я не смогу проделать для класса Ext.grid.property.Grid: http://docs.sencha.com/extjs/5.1/5.1....property.Grid он просто перепишет мою конфигурацию своей, судя по коду класса Ext.grid.property.Grid: me.columns = new Ext.grid.property.HeaderContainer(me, me.store); *кстати очень печально что он это делает, что затрудняет наследование от него... либо не знаю как это сделать не программно... |
Ну, вы ж не уточнили, что вам это нужно для PropertyGrid. :( Эта штука хак на хаке, одна из доисторических наколенных поделок криворуких ковбоев каменного века… Попробуйте наследовать от PropertyGrid и задать высоту *до* рендеринга:
Ext.define('My.property.Grid', { extend: 'Ext.grid.property.Grid', initComponent: function() { this.callParent(); this.columns.height = 10; } }); По идее должно сработать. |
Цитата:
Ну раз наследоваться, то тогда я все проблемы разом и решу. Возможно лучше тогда свой делать класс. |
Таких доисторических компонентов не очень много осталось, они "в общем" работают и руки до них никак не доходят. Кроме PropertyGrid, можно ещё вспомнить Paging Toolbar, Date picker, ну и конечно звезду эстрады HtmlEditor. Этот я просто ненавижу люто и бешено, но переписывать его тоже не с руки, долго это и больно. Поэтому каждый раз, когда нужно какой-нибудь баг пофиксить, зажимаю нос и стараюсь глубоко в эту пакость не смотреть, чтобы не стошнило. :( Пардон за подробности…
Так что да, советую наследоваться и фиксить местами то, что нужно. |
Часовой пояс GMT +3, время: 17:14. |