バージョン

サンプル エネルギー データ

目的

このトピックでは、XamDataChartコントロールおよびその カテゴリ シリーズおよび積層シリーズタイプで使用するデータおよびデータ モデルを提供します。

このトピックの内容

このトピックは、以下のセクションで構成されます。

必須の名前空間

C# の場合:

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
namespace Infragistics.Models
{
  // TODO add data model
  // TODO add data source
}

Visual Basic の場合:

Imports System
Imports System.Collections.Generic
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports System.Linq
Namespace Infragistics.Models
   ' TODO add data model
   ' TODO add data source
End Namespace

データ モデル

C# の場合:

public class EnergyProduction
{
    public string Country { get; set; }
    public string Region { get; set; }
    public string Year { get; set; }

    // Non-Renewable Energy Sources
    public double Nuclear { get; set; }
    public double Coal { get; set; }
    public double Oil { get; set; }
    public double Gas { get; set; }
    // Renewable Energy Sources
    public double Hydro { get; set; }
    public double GeoThermal { get; set; }
    public double Solar { get; set; }
    public double Wind { get; set; }

    public double Total { get { return Renewable + NonRenewable; } }
    public double Renewable { get { return Hydro + GeoThermal + Wind + Solar; } }
    public double NonRenewable { get { return Coal + Oil + Gas + Nuclear; } }
}

Visual Basic の場合:

Public Class EnergyProduction
    Public Property Country As String
    Public Property Region As Double
    Public Property Year As Double
    Public Property Nuclear As Double
    Public Property Coal As Double
    Public Property Oil As Double
    Public Property Gas As Double
    Public Property Hydro As Double
    Public Property GeoThermal As Double
    Public Property Solar As Double
    Public Property Wind As Double
    Public Property NonRenewable As Double Get Return Coal + Oil + Gas + Nuclear End Get End Property
    Public Property Renewable As Double Get Return Hydro + GeoThermal + Wind + Solar End Get End Property
    Public Property Total As Double Get Return Renewable + NonRenewable End Get End Property
End Class

データ ソース

C# の場合:

public class EnergyDataSource : List<EnergyProduction>
{
    public EnergyDataSource()
    {
        this.Add(new EnergyProduction { Region = "America", Country = "CAN", Coal = 400, Oil = 100, Gas = 175, Nuclear = 225, Hydro = 350 });
        this.Add(new EnergyProduction { Region = "Asia", Country = "CHN", Coal = 925, Oil = 200, Gas = 350, Nuclear = 400, Hydro = 625 });
        this.Add(new EnergyProduction { Region = "Europe", Country = "RUS", Coal = 550, Oil = 200, Gas = 250, Nuclear = 475, Hydro = 425 });
        this.Add(new EnergyProduction { Region = "Asia", Country = "AUS", Coal = 450, Oil = 100, Gas = 150, Nuclear = 175, Hydro = 350 });
        this.Add(new EnergyProduction { Region = "America", Country = "USA", Coal = 800, Oil = 250, Gas = 475, Nuclear = 575, Hydro = 750 });
        this.Add(new EnergyProduction { Region = "Europe", Country = "FRA", Coal = 375, Oil = 150, Gas = 350, Nuclear = 275, Hydro = 325 });
    }
}

public class EnergyDataHistory : List<EnergyProduction>
{
    public EnergyDataHistory()
    {
        this.Add(new EnergyProduction { Year = "2000", Country = "Canada", Coal = 400, Oil = 100, Gas = 175, Nuclear = 225, Hydro = 350 });
        this.Add(new EnergyProduction { Year = "2010", Country = "Canada", Coal = 450, Oil = 150, Gas = 225, Nuclear = 255, Hydro = 400 });
        this.Add(new EnergyProduction { Year = "2020", Country = "Canada", Coal = 300, Oil = 200, Gas = 275, Nuclear = 325, Hydro = 450 });
        this.Add(new EnergyProduction { Year = "2000", Country = "China", Coal = 825, Oil = 200, Gas = 350, Nuclear = 400, Hydro = 625 });
        this.Add(new EnergyProduction { Year = "2010", Country = "China", Coal = 925, Oil = 250, Gas = 400, Nuclear = 420, Hydro = 685 });
        this.Add(new EnergyProduction { Year = "2020", Country = "China", Coal = 975, Oil = 300, Gas = 450, Nuclear = 450, Hydro = 725 });
        this.Add(new EnergyProduction { Year = "2000", Country = "Russia", Coal = 550, Oil = 200, Gas = 250, Nuclear = 475, Hydro = 425 });
        this.Add(new EnergyProduction { Year = "2010", Country = "Russia", Coal = 600, Oil = 220, Gas = 280, Nuclear = 525, Hydro = 485 });
        this.Add(new EnergyProduction { Year = "2020", Country = "Russia", Coal = 650, Oil = 250, Gas = 350, Nuclear = 575, Hydro = 525 });
        this.Add(new EnergyProduction { Year = "2000", Country = "Australia", Coal = 450, Oil = 100, Gas = 150, Nuclear = 175, Hydro = 350 });
        this.Add(new EnergyProduction { Year = "2010", Country = "Australia", Coal = 480, Oil = 120, Gas = 250, Nuclear = 225, Hydro = 400 });
        this.Add(new EnergyProduction { Year = "2020", Country = "Australia", Coal = 550, Oil = 180, Gas = 350, Nuclear = 275, Hydro = 450 });
        this.Add(new EnergyProduction { Year = "2000", Country = "United States", Coal = 800, Oil = 250, Gas = 475, Nuclear = 575, Hydro = 750 });
        this.Add(new EnergyProduction { Year = "2010", Country = "United States", Coal = 850, Oil = 300, Gas = 525, Nuclear = 625, Hydro = 800 });
        this.Add(new EnergyProduction { Year = "2020", Country = "United States", Coal = 900, Oil = 350, Gas = 575, Nuclear = 675, Hydro = 850 });
        this.Add(new EnergyProduction { Year = "2000", Country = "France", Coal = 375, Oil = 150, Gas = 350, Nuclear = 275, Hydro = 325 });
        this.Add(new EnergyProduction { Year = "2010", Country = "France", Coal = 425, Oil = 200, Gas = 400, Nuclear = 325, Hydro = 385 });
        this.Add(new EnergyProduction { Year = "2020", Country = "France", Coal = 455, Oil = 250, Gas = 450, Nuclear = 375, Hydro = 425 });
    }
}

Visual Basic の場合:

Public Class EnergyDataSource Inherits List(Of EnergyProduction)
    Public Sub New()
        Me.Add(New EnergyProduction() With { .Region = "America", .Country = "Canada", .Coal = 400, .Oil = 100, .Gas = 175, .Nuclear = 225, .Hydro = 350 })
        Me.Add(New EnergyProduction() With { .Region = "Asia", .Country = "China", .Coal = 925, .Oil = 200, .Gas = 350, .Nuclear = 400, .Hydro = 625 })
        Me.Add(New EnergyProduction() With { .Region = "Europe", .Country = "Russia", .Coal = 550, .Oil = 200, .Gas = 250, .Nuclear = 475, .Hydro = 425 })
        Me.Add(New EnergyProduction() With { .Region = "Asia", .Country = "Australia", .Coal = 450, .Oil = 100, .Gas = 150, .Nuclear = 175, .Hydro = 350 })
        Me.Add(New EnergyProduction() With { .Region = "America", .Country = "United States", .Coal = 800, .Oil = 250, .Gas = 475, .Nuclear = 575, .Hydro = 750 })
        Me.Add(New EnergyProduction() With { .Region = "Europe", .Country = "France", .Coal = 375, .Oil = 150, .Gas = 350, .Nuclear = 275, .Hydro = 325 })
    End Sub
End Class

Public Class EnergyDataHistory Inherits List(Of EnergyProduction)
    Public Sub New()
        Me.Add(New EnergyProduction() With { .Year = "2000", .Country = "Canada", .Coal = 400, .Oil = 100, .Gas = 175, .Nuclear = 225, .Hydro = 350 })
        Me.Add(New EnergyProduction() With { .Year = "2010", .Country = "Canada", .Coal = 450, .Oil = 150, .Gas = 225, .Nuclear = 255, .Hydro = 400 })
        Me.Add(New EnergyProduction() With { .Year = "2020", .Country = "Canada", .Coal = 300, .Oil = 200, .Gas = 275, .Nuclear = 325, .Hydro = 450 })
        Me.Add(New EnergyProduction() With { .Year = "2000", .Country = "China", .Coal = 825, .Oil = 200, .Gas = 350, .Nuclear = 400, .Hydro = 625 })
        Me.Add(New EnergyProduction() With { .Year = "2010", .Country = "China", .Coal = 925, .Oil = 250, .Gas = 400, .Nuclear = 420, .Hydro = 685 })
        Me.Add(New EnergyProduction() With { .Year = "2020", .Country = "China", .Coal = 975, .Oil = 300, .Gas = 450, .Nuclear = 450, .Hydro = 725 })
        Me.Add(New EnergyProduction() With { .Year = "2000", .Country = "Russia", .Coal = 550, .Oil = 200, .Gas = 250, .Nuclear = 475, .Hydro = 425 })
        Me.Add(New EnergyProduction() With { .Year = "2010", .Country = "Russia", .Coal = 600, .Oil = 220, .Gas = 280, .Nuclear = 525, .Hydro = 485 })
        Me.Add(New EnergyProduction() With { .Year = "2020", .Country = "Russia", .Coal = 650, .Oil = 250, .Gas = 350, .Nuclear = 575, .Hydro = 525 })
        Me.Add(New EnergyProduction() With { .Year = "2000", .Country = "Australia", .Coal = 450, .Oil = 100, .Gas = 150, .Nuclear = 175, .Hydro = 350 })
        Me.Add(New EnergyProduction() With { .Year = "2010", .Country = "Australia", .Coal = 480, .Oil = 120, .Gas = 250, .Nuclear = 225, .Hydro = 400 })
        Me.Add(New EnergyProduction() With { .Year = "2020", .Country = "Australia", .Coal = 550, .Oil = 180, .Gas = 350, .Nuclear = 275, .Hydro = 450 })
        Me.Add(New EnergyProduction() With { .Year = "2000", .Country = "United States", .Coal = 800, .Oil = 250, .Gas = 475, .Nuclear = 575, .Hydro = 750 })
        Me.Add(New EnergyProduction() With { .Year = "2010", .Country = "United States", .Coal = 850, .Oil = 300, .Gas = 525, .Nuclear = 625, .Hydro = 800 })
        Me.Add(New EnergyProduction() With { .Year = "2020", .Country = "United States", .Coal = 900, .Oil = 350, .Gas = 575, .Nuclear = 675, .Hydro = 850 })
        Me.Add(New EnergyProduction() With { .Year = "2000", .Country = "France", .Coal = 375, .Oil = 150, .Gas = 350, .Nuclear = 275, .Hydro = 325 })
        Me.Add(New EnergyProduction() With { .Year = "2010", .Country = "France", .Coal = 425, .Oil = 200, .Gas = 400, .Nuclear = 325, .Hydro = 385 })
        Me.Add(New EnergyProduction() With { .Year = "2020", .Country = "France", .Coal = 455, .Oil = 250, .Gas = 450, .Nuclear = 375, .Hydro = 425 })
    End Sub
End Class

監視可能なモデル

C# の場合:

    public abstract class ObservableModel : INotifyPropertyChanged
    {
        #region INotifyPropertyChanged
        public event PropertyChangedEventHandler PropertyChanged;
        protected void OnPropertyChanged(string propertyName)
        {
            if (this.PropertyChanged != null)
                this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
		}
        #endregion
	}

Visual Basic の場合:

Public MustInherit Class ObservableModel
    Implements INotifyPropertyChanged

    #Region "INotifyPropertyChanged"
    Public Event PropertyChanged As PropertyChangedEventHandler
    Protected Sub OnPropertyChanged(propertyName As String)
        Dim handler As PropertyChangedEventHandler = Me.PropertyChanged
        RaiseEvent handler(Me, New PropertyChangedEventArgs(propertyName))
    End Sub
    #Region "INotifyPropertyChanged"
    Public Event PropertyChanged As PropertyChangedEventHandler
    Protected Sub OnPropertyChanged(propertyName As String)
        Dim handler As PropertyChangedEventHandler = Me.PropertyChanged
        RaiseEvent handler(Me, New PropertyChangedEventArgs(propertyName))
    End Sub
End Class