Изменяемая ширина колонок PropertyGrid
Пример с сайта сенчи:
http://docs.sencha.com/ext-js/4-0/#!.../property.html Пример других гридов: http://docs.sencha.com/ext-js/4-0/#!...d-plugins.html Как видно во втором примере можно изменить ширину колонки по своему желанию (на как в Excel'e :) ) А вот с пропертигридом такая фича не прокатывает - ширина динамически не меняется. Как сделать что бы менялась? Пробовал через конфиги грида: columns - не имеет никакого воздействия на функционал Пробовал установить хотя бы другую ширину с помощью конфига nameColumnWidth - результат нулевой, ширина колонки как была 115 по дефолту, так и осталась. Попробовал хотя бы сменить название колонки с помощью nameValue - название не изменилось, но перестали отображаться данные в колонке... это так, лирическое отступление. |
В общем решение нашлось с помощью исправления кода самой библиотеки ext (понимаю что так делать нельзя, но это все просто достало).
кому интересно вот решение: 1. в файле ext-all-debug.js выполняем поиск строки: "Ext.grid.plugin.HeaderResizer". Это примерно 80000-ная строка. 2. внутри этого "класса" ищем функцию: "afterHeaderRender". 3. внутри функции находим конструкцию: "disabled: this.disabled". 4. комментируем эту конструкцию (на всякий случай) и вместо этого пишем: "disabled: false". 5. Возможно необходимо будет так же закомментировать тело функции "disable" которая находится ниже: disable: function() { /*this.disabled = true; if (this.tracker) { this.tracker.disable(); }*/ }, Таким образом конечно у всех гридов появляется возможность менять ширину колонок... это пока что единственный "баг" с которым я столкнулся после такого быдлокодерства. P.S. Огромное спасибо моему знакомому, который мне все это подсказал. P.P.S. Кто знает более красивое решение, например через плагины, просьба подсказать как это сделать. |
Часовой пояс GMT +3, время: 23:11. |