Laden der ListDataSet-Daten in den Pivot-Würfel

In der Version 2021.1 wurde die Komponente ListDataSet hinzugefügt, die das Laden von Daten in den Cube mit Hilfe von Windows Forms Data Binding ermöglicht 

Es ist jetzt möglich, Daten in den Cube mit Hilfe von Windows Forms komplexer Datenbindung zu laden, die in Standard-Steuerelementen verwendet wird: DataGridView, ListView und Combobox.

Complex Data Binding lädt Daten über die BindingSource-Komponente, die als Proxy agiert (weitere Informationen finden Sie im MSDN).

Hier ist ein kleines Beispiel für das Laden von Daten aus List<>.

1. Deklarieren Sie eine ProductInfo-Klasse

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

2. Erstellen Sie eine Liste von ProductInfo-Datensätzen

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 und Slice konfigurieren

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();
}

Hier ist das Ergebnis:

FastCube Net 2021.1

Das vollständige Beispiel befindet sich in Demos\C#\DataBindings.

Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314

© 1998-2024 Fast Reports Inc.
Trustpilot