Загрузка 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.

.NET FastCube WinForms .NET FastCube WinForms
25 марта 2025

Как объединить несколько отчетов в один из FastReport .NET

FastReport .NET — это мощный инструмент для создания и управления отчётами. В данной статье мы рассмотрим, как объединить несколько отчётов в один в FastReport .NET.
11 марта 2025

Как использовать FastReport .NET Avalonia на Fedora Workstation с протоколом Wayland

В данной статье мы разберем, как запустить FastReport .NET Avalonia на операционной системе «Fedora Workstation 39» с протоколом Wayland.
7 марта 2025

Как создать QR-код с картинкой в FastReport .NET

В статье разобрались как вставлять картинку в QR Code из дизайнера отчётов FastReport .NET всего за пару кликов.