[GcSpreadGrid] DataTableと連結したい

文書番号 : 85057     文書種別 : 使用方法     登録日 : 2020/03/27     最終更新日 : 2020/03/27
文書を印刷する
対象製品
SPREAD for WPF 3.0J
詳細
SPREAD for WPF は標準のDataGridコントロールと同様にIEnumerableインターフェイスを実装するコレクションにバインドすることができます。

●参考情報
DataGrid.ItemsSource プロパティ

DataTable には IEnumerable インターフェースが実装されていないため、DefaultView プロパティを使用するか、または GetList メソッドを使用してバインドする必要があります。

◎サンプルコード(VB)
Imports System.Data
Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
    ' テストデータの作成
    Dim dt As New DataTable()
    dt.Columns.Add(New DataColumn("ID", GetType(Integer)))
    dt.Columns.Add(New DataColumn("CompanyName", GetType(String)))

    For i As Integer = 1 To 10
        Dim r As DataRow = dt.NewRow()
        r("ID") = i
        r("CompanyName") = String.Format("Test No.{0}", i)
        dt.Rows.Add(r)
    Next

    ' データ連結
    gcSpreadGrid1.ItemsSource = dt.DefaultView
End Sub

◎サンプルコード(C#)
using System.Data;
private void Window_Loaded(object sender, RoutedEventArgs e){
    // テストデータの作成
    DataTable dt = new DataTable();
    dt.Columns.Add(new DataColumn("ID", typeof(int)));
    dt.Columns.Add(new DataColumn("CompanyName", typeof(string)));

    for (int i = 1; i < 11; i++)
    {
        DataRow r = dt.NewRow();
        r["ID"] = i;
        r["CompanyName"] = string.Format("Test No.{0}", i);
        dt.Rows.Add(r);
    }
    // データ連結
    gcSpreadGrid1.ItemsSource = dt.DefaultView;     
}