バージョン

UltraSparkline データ バインディング

トピックの概要

目的

このトピックは、コード例を示して、 UltraSparkline™ コントロールをデータにバインドする方法を説明します。

前提条件

以下の表に、このトピックを理解するための前提条件として求められるトピックをリストします。

トピック 目的

このトピックは、 UltraSparkline コントロールの概要、その利点、およびサポートされるチャート タイプを提供します。

データ バインディング - 概念的概要

概要

UltraSparkline コントロールには、一次元データが必要です。データ セットには少なくとも 2 つの 数値 フィールドを含む必要があります。これらのデータ型要件を満たしていない場合、 UltraSparkline は空のチャートを描画します (エラーは返しません)。データ ソース フィールドのテキストを使用して、X 軸の最初と最後のラベルを表示できます。

最低要件として UltraSparkline では、コントロールをデータ コレクションのインスタンスにバインドする DataSource プロパティと、どのデータを表示するか特定する ValueMemberPath プロパティが必要です。

プロパティ設定

以下の表は、データ バインディング プロパティ設定をリストしています。

プロパティ名 プロパティ設定

DataSource

データのコレクション

ValueMemberPath

field name

コード例: データ バインディング

説明

以下のコードはデータ バインディングを示します。

C# の場合:

this.UltraSparkline1.DataSource = new TestData();
this.UltraSparkline1.ValueMemberPath = "Value";

Visual Basic の場合:

Me.UltraSparkline1.DataSource = New TestData()
Me.UltraSparkline1.ValueMemberPath = "Value"

C# の場合:

public class TestData : ObservableCollection<TestDataItem>
    {
        public TestData()
        {
           Add(new TestDataItem { Label = "Label1", Value = 1 });
           Add(new TestDataItem { Label = "Label2", Value = 2 });
           Add(new TestDataItem { Label = "Label3", Value = 3 });
           Add(new TestDataItem { Label = "Label4", Value = -4 });
           Add(new TestDataItem { Label = "Label5", Value = 5 });
           Add(new TestDataItem { Label = "Label6", Value = -6 });
           Add(new TestDataItem { Label = "Label7", Value = 7 });
           Add(new TestDataItem { Label = "Label8", Value = 8 });
           Add(new TestDataItem { Label = "Label9", Value = 9 });
        }
    }
public class TestDataItem : INotifyPropertyChanged
    {
        private string _label;
        public string Label
        {
            get { return _label; }
            set { _label = value; RaisePropertyChanged("Label"); }
        }
        private double? _value;
        public double? Value
        {
            get { return _value; }
            set { _value = value; RaisePropertyChanged("Value"); }
        }
        private void RaisePropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new   PropertyChangedEventArgs(propertyName));
            }
        }
        public event PropertyChangedEventHandler PropertyChanged;
    }

Visual Basic の場合:

Public Class TestData
   Inherits ObservableCollection(Of TestDataItem)
      Public Sub New()
      Add(New TestDataItem() With {.Label = "Label1", .Value = 1})
      Add(New TestDataItem() With {.Label = "Label2", .Value = 2})
      Add(New TestDataItem() With {.Label = "Label3", .Value = 3})
      Add(New TestDataItem() With {.Label = "Label4", .Value = -4})
      Add(New TestDataItem() With {.Label = "Label5", .Value = 5})
      Add(New TestDataItem() With {.Label = "Label6", .Value = -6})
      Add(New TestDataItem() With {.Label = "Label7", .Value = 7})
      Add(New TestDataItem() With {.Label = "Label8", .Value = 8})
      Add(New TestDataItem() With {.Label = "Label9", .Value = 9})
   End Sub
End Class
Public Class TestDataItem
      Implements INotifyPropertyChanged
      Private _label As String
      Public Property Label() As String
            Get
                  Return _label
            End Get
            Set
                  _label = value
                  RaisePropertyChanged("Label")
            End Set
      End Property
      Private _value As System.Nullable(Of Double)
      Public Property Value() As System.Nullable(Of Double)
            Get
                  Return _value
            End Get
            Set
                  _value = value
                  RaisePropertyChanged("Value")
            End Set
      End Property
      Private Sub RaisePropertyChanged(propertyName As String)
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
      End Sub
      Public Event PropertyChanged As PropertyChangedEventHandler
End Class

関連コンテンツ

トピック

以下のトピックでは、このトピックに関連する情報を提供しています。

トピック 目的

このトピックは、 UltraSparkline コントロールの概要、その利点、およびサポートされるチャート タイプを提供します。

このトピックは、 UltraSparkline コントロールを構成するあらゆる方法の概要について説明します。構成の詳細情報へのリンク (別のトピックで参照可能) も記載されています。

このトピックは、 UltraSparkline コントロールの主なプロパティを説明します。