Загрузка ListDataSet данных в куб

09.06.2021

В версии 2021.1 добавлен компонент ListDataSet позволяющий загружать в куб данные используя Windows Forms Data Binding

Добавлена возможность загружать данные в куб используя механизм Windows Forms Data Binding, использующийся в стандартных элементах управления: DataGridView, ListView и Combobox.

Windows Forms Data Binding работает с данными посредством компонента BindingSource, который выступает в роли прокси (больше информации по теме можно найти в MSDN).

Далее приведен небольшой пример загрузки данных из List<>.

1. Объявляем класс ProductInfo

public class ProductInfo
{
 public String Name { get; set; }
 public String Group { get; set; } 
 public int Count { get; set; }
}

2. Создаем список записей ProductInfo

List<ProductInfo> CreateProducts()
{
 return new List<ProductInfo> {
 new ProductInfo {Group = "Bakery products", Name = "Ciabatta", Count = 3},
 new ProductInfo {Group = "Bakery products", Name = "Bread", Count = 5},
 new ProductInfo {Group = "Bakery products", Name = "Croissant", Count = 1},
 
 new ProductInfo {Group = "Alcohol", Name = "Wine", Count = 6},
 new ProductInfo {Group = "Alcohol", Name = "Whiskey", Count = 2},
 new ProductInfo {Group = "Alcohol", Name = "Beer", Count = 5},
 
 new ProductInfo {Group = "Dairy products", Name = "Yoghurt", Count = 5},
 new ProductInfo {Group = "Dairy products", Name = "Milk", Count = 4}
 };
}

 3. Настраиваем Cube и slice

private void Form1_Load(object sender, EventArgs e)
{
 // configure data source
 listDataSet1.DataSource = CreateProducts();
 // load data to Cube
 cube1.Active = true;
 // configure Slice
 slice1.YAxisContainer.AddSliceField(slice1.SliceFields.GetFieldByName("Group"));
 slice1.YAxisContainer.AddSliceField(slice1.SliceFields.GetFieldByName("Name"));
 var measure = new FastReport.Olap.Slice.MeasureField(slice1, FastReport.Olap.Types.AggregateFunction.Sum, slice1.SliceFields.GetFieldByName("Count"));
 slice1.MeasuresContainer.AddMeasure(measure);
 slice1.XAxisContainer.AddMeasuresField();
}

В результате получаем следующий вид:

FastCube Net 2021.1

Полный пример расположен в каталоге Demos\C#\DataBindings.

28 октября 2024

Как настроить WSL 2 для работы с FastReport и FastCube

В этой статье попробуем вместе разобраться, как настроить WSL 2 для работы с компонентами FastReport и FastCube в Lazarus для Linux.
2 сентября 2024

Обзор облачного решения для создания и управления отчетами

МоиОтчеты Облако — это мощное облачное решение для создания и управления отчетами, обеспечивающее широкий спектр возможностей, от создания документов в различных форматах до интеграции с корпоративными системами.
12 августа 2024

Как собрать и установить плагин Postgres в FastReport .NET

В этой статье описывается подключение к базе посредством плагина FastReport .NET для дизайнера отчетов из Visual Studio через NuGet-сервер.