Количество подгружаемых строк при просмотре данных в графике.
Добрый день! Подскажите, пожалуйста, есть ли возможность изменить количество подгружаемых строк при просмотре данных в графике?
Насколько я понимаю, за это количество (5 строк) отвечает параметр RowCount и функция getRowCount в схеме ChartModule.
Но эта функция (и параметр) находятся в классе, который, насколько я понимаю, я не могу изменить. Если сделать свой класс, наследованный от нужного, и поменять в нем параметр, то мне непонятно, как потом подменять класс отображаемого графика на свой.
Может быть, существует какой-нибудь безболезненный способ изменить значение нужного параметра?
Нравится
Иван Небеддаг,
В общем, создаете Замещающий клиентский модуль, в поле Родительский объект выбираете "Модуль построения графиков", это
ChartModule, из него просто скопируйте все, Ctrl + A, Ctrl+C и вставьте в ваш замещающий клиентский модуль весь скопированный код, затем найдите метод initGridData, где замените 5 на нужное вам число
Добрый день, можно в объект ChartProperty добавить поле с количеством отображаемых строк для графика и обрабатывать это поле в модуле построения графиков
А если вы создадите замещающий модуль к ChartModule, то он автоматически будет использоваться при построении графиков, но у вас опять же будет фиксированное количество строк для всех графиков
Это же задаётся пользовательскими средствами в настройках списка:
Колодяжный Владислав Эдуардович,
Зверев Александр,
Большое спасибо!
Александр, подскажите пожалуйста, как Вы открыли такие настройки списка? Потому что либо я не там их ищу, либо в версии 7.12.2 что-то другое в этих настройках:
Зверев Александр,
я изначально так же подумал, но для графиков такого нет, только для списка можно установить по умолчанию
В 7.12.0 это настраивается на второй вкладке свойств списка. Сначала открывают на редактирование пунктом меню «Изменить» всю панель итогов, потом на её схематическом изображении выбирают нужный список и открывается уже его редактирование свойств.
Для графиков, в отличие от списков, отдельные строки не подгружаются, поэтому такая настройка смысла не имеет. Если нужно только списочное представление с широкими настройками — используйте список, а не график.
Зверев Александр,
в графиках можно выбрать в меню "показать данные", и тогда вместо графика появляется список, в котором как раз и хотелось бы поменять эту настройку. Но я уже понял, что в пользовательском интерфейсе её нельзя изменить, к моему сожалению.
Колодяжный Владислав Эдуардович,
Насколько я понял, оба варианта, предложенных Вами сводятся в том числе к изменению ChartModule. Возможно, у меня возникают трудности из-за того, что я не до конца разобрался с классами, объявленными с помощью extJs. Для меня загвоздкой является именно то, что в ChartModule создается класс (Ext.define("Terrasoft.configuration.ChartViewModel"...), в котором уже есть параметр и функция. И я понимаю, как создать этот класс целиком в замещающей схеме, но не понимаю, как можно изменить в нем только одну функцию или один параметр. Потому что копипастить стандартный класс - не лучшая идея, он может меняться от версии к версии.
Иван Небеддаг,
Все что вам нужно, это в замещающей схеме, заместить один метод, в котором можете даже не вызывать родительский функционал, просто полностью его копируете, изменив старое значение на нужное вам и все, больше ничего делать не надо
Вместо графика используйте список, там поменять можно. Для элемента-графика функциональность в режиме списка является вспомогательной, там таких настроек не предусмотрено.
Литвинко Павел,
Я прошу прощение за занудство, но подскажите, пожалуйста (в общих чертах), как мне заместить один метод в замещающей схеме, если основная схема имеет вид:
define("ChartModule", [...],
function(...) {
Ext.define("Terrasoft.configuration.ChartViewModel", {
extend: "Terrasoft.BaseViewModel",
alternateClassName: "Terrasoft.ChartViewModel",
...
getRowCount: function() {
return this.get("RowCount");
},
...
});
return Terrasoft.ChartModule;
});
Иван Небеддаг,
В общем, создаете Замещающий клиентский модуль, в поле Родительский объект выбираете "Модуль построения графиков", это
ChartModule, из него просто скопируйте все, Ctrl + A, Ctrl+C и вставьте в ваш замещающий клиентский модуль весь скопированный код, затем найдите метод initGridData, где замените 5 на нужное вам число
Литвинко Павел,
Я как раз про это выше писал:
Иван Небеддаг пишет:
И я понимаю, как создать этот класс целиком в замещающей схеме, но не понимаю, как можно изменить в нем только одну функцию или один параметр. Потому что копипастить стандартный класс - не лучшая идея, он может меняться от версии к версии.
Спасибо всем за помощь! Буду тогда копать в сторону создания класса, унаследованного от нужного, и добавления его в аналитику.