getSelection(): Array of PP.Ui.RatingChartSerie;
Метод getSelection возвращает массив выделенных рядов данных.
Для выполнения примера необходимо наличие на html-странице компонента RatingChart с наименованием «ratingChart» (см. «Пример создания компонента RatingChart»). Обработаем события SelectionStart и Selected так, чтобы все выделенные ряды данных окрашивались в жёлтый цвет:
// Разрешим множественное выделение в диаграмме
ratingChart.AllowMultipleSelection = true;
// Получим ряды данных
var series = ratingChart.getSeries();
// Определим стиль по умолчанию
var defaultStyle = {
Index: ratingChart._DefaultIndexStyle,
Line: ratingChart._DefaultLineStyle,
NegativeLine: ratingChart._DefaultNegLineStyle
};
// Определим новый стиль отображения для выделенных рядов данных
var selectedStyle = {
/* Устанавливаем цвет заливки для меток с индексами рядов */
Index: new PP.SolidColorBrush({
Color: PP.Color.Colors.yellow
}),
/* Устанавливаем цвет заливки для столбцов рейтинга */
Line: new PP.SolidColorBrush({
Color: PP.Color.Colors.yellow // Жёлтый цвет
}),
/* Устанавливаем цвет заливки для столбцов рейтинга,
расположенных только левее линии тренда */
NegativeLine: new PP.SolidColorBrush({
Color: PP.Color.Colors.orange
})
};
// Обработаем событие SelectionStart
ratingChart.SelectionStart.add(function (sender, args) {
// Для выделяемого ряда будем сразу устанавливать новый стиль
ratingChart.setStyle(args.LineIndex, selectedStyle);
});
// Обработаем событие Selected
ratingChart.Selected.add(function (sender, args) {
// Цикл по всем отсортированным рядам данных
for (var i = 0; i < series.length; i++) {
// Применим сначала стиль по умолчанию
ratingChart.setStyleToSerie(i, defaultStyle);
// Получим текующий ряд
var currentSerie = ratingChart.getSerie(i);
var selection = ratingChart.getSelection();
// Определим наименование выбранного ряда
for (var j = 0; j < selection.length; j++) {
// Цикл по всем выделенным рядам диаграммы
var counter = 0; // Cчётчик
var selectedSerieName = "";
for (var k in series) { // Цикл по всем рядам
if (counter == selection[j]) {
selectedSerieName = series[k].Name;
}
counter++;
};
if (currentSerie.Name == selectedSerieName) {
// Для выделенного ряда установим новый стиль
ratingChart.setStyle(i, selectedStyle);
}
};
};
});
В результате выполнения примера все выделенные ряды данных будут окрашиваться в жёлтый цвет. При этом столбцы рейтинга, расположенные левее линии тренда, при выделении будут иметь оранжевую заливку. Если выделены второй, четвёртый и пятый ряды, то рейтинговая диаграмма будет иметь следующий вид:

См. также: