Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.07.2015, 19:21
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Изменение высоты заголовков grid-а
Почему когда я пытаюсь поменять высоту заголовков колонок


listeners: {
	render: function() { this.getHeaderContainer().setHeight(60); }
}


то сплиттер между названиями колонок начинает генерировать ошибку Cannot read property 'heightModel' of null, при попытке его сдвинуть?

Код в песочнице https://fiddle.sencha.com/#fiddle/ptb

Последний раз редактировалось khusamov, 05.07.2015 в 19:28.
Ответить с цитированием
  #2 (permalink)  
Старый 06.07.2015, 22:59
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

Потому что не надо ничего делать в render, onRender, afterRender. И вообще не надо высоту выставлять программно, пользуйтесь конфигурацией:

Код:
        Ext.create('Ext.grid.Panel', {
            title: 'Simpsons',
            store: Ext.data.StoreManager.lookup('simpsonsStore'),
            
            // columns это объект, который скармливается конструктору
            // Ext.grid.header.Container
            columns: {
                height: 10,
                items: [
                	{ text: 'Name', dataIndex: 'name' },
                	{ text: 'Email', dataIndex: 'email', flex: 1 },
                	{ text: 'Phone', dataIndex: 'phone' }
                ]
            },
            
            height: 200,
            width: 400,
            renderTo: Ext.getBody()
        });
См. сохранённый fiddle.
Ответить с цитированием
  #3 (permalink)  
Старый 07.07.2015, 16:47
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Нужен способ ПРОГРАММНЫЙ, так как такой финт как

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);


*кстати очень печально что он это делает, что затрудняет наследование от него...

либо не знаю как это сделать не программно...

Последний раз редактировалось khusamov, 07.07.2015 в 16:49.
Ответить с цитированием
  #4 (permalink)  
Старый 08.07.2015, 23:59
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

Ну, вы ж не уточнили, что вам это нужно для PropertyGrid. :( Эта штука хак на хаке, одна из доисторических наколенных поделок криворуких ковбоев каменного века… Попробуйте наследовать от PropertyGrid и задать высоту *до* рендеринга:

Ext.define('My.property.Grid', {
    extend: 'Ext.grid.property.Grid',

    initComponent: function() {
        this.callParent();

        this.columns.height = 10;
    }
});


По идее должно сработать.
Ответить с цитированием
  #5 (permalink)  
Старый 09.07.2015, 08:50
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Цитата:
Эта штука хак на хаке, одна из доисторических наколенных поделок криворуких ковбоев каменного века…
вертелся у меня на языке вопрос о странном содержимом класса...

Ну раз наследоваться, то тогда я все проблемы разом и решу. Возможно лучше тогда свой делать класс.
Ответить с цитированием
  #6 (permalink)  
Старый 09.07.2015, 23:16
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

Таких доисторических компонентов не очень много осталось, они "в общем" работают и руки до них никак не доходят. Кроме PropertyGrid, можно ещё вспомнить Paging Toolbar, Date picker, ну и конечно звезду эстрады HtmlEditor. Этот я просто ненавижу люто и бешено, но переписывать его тоже не с руки, долго это и больно. Поэтому каждый раз, когда нужно какой-нибудь баг пофиксить, зажимаю нос и стараюсь глубоко в эту пакость не смотреть, чтобы не стошнило. :( Пардон за подробности…

Так что да, советую наследоваться и фиксить местами то, что нужно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пропорциональное изменение высоты anar1811 jQuery 9 26.02.2016 01:02
изменение высоты и прокрутка culver Events/DOM/Window 10 17.04.2014 20:29
изменение значения в grid demi ExtJS 4 21.08.2013 07:24
Изменение высоты браузера Юсуф Events/DOM/Window 10 07.08.2012 12:23
Изменение высоты div TAILER Общие вопросы Javascript 11 11.04.2010 21:42