バージョン

xamDataGrid の ListCollectionView サンプルの作成

解説

以下のコード例では、Utils クラスの CreateDataSource メソッドが、サンプルの Item クラス オブジェクトで生成した ListCollectionView を返します。項目クラスの定義は、 項目クラス コード例で利用できます。

コード

Visual Basic の場合:

Namespace ExternalOperations
      Public NotInheritable Class Utils
            Private Sub New()
            End Sub
            Public Shared Function CreateDataSource(itemCount As Integer) As IEnumerable
                  Dim items As New BindingList(Of Item)()
                  Dim r As New Random()
                  Dim now As DateTime = DateTime.Now
                  For i As Integer = 0 To itemCount - 1
                        Dim item As New Item() With {
                              .A = "a" & r.[Next](100),
                              .B = "b" & r.[Next](100),
                              .DateField = now.AddDays(r.[Next](100)).[Date],
                              .IntField = r.[Next](200),
                              .FloatField = CSng(r.NextDouble() * r.[Next](1000)),
                              .DoubleField = r.NextDouble() * r.[Next](1000),
                              .DecimalField = CDec(r.NextDouble() * r.[Next](1000))
                        }
                        items.Add(item)
                  Next
                  Dim lcv As New ListCollectionView(items)
                  Return lcv
            End Function
      End Class
End Namespace

C# の場合:

namespace ExternalOperations
{
    public static class Utils
    {
        public static IEnumerable CreateDataSource(int itemCount)
        {
            BindingList<Item> items = new BindingList<Item>();
            Random r = new Random();
            DateTime now = DateTime.Now;
            for (int i = 0; i < itemCount; i++)
            {
                Item item = new Item
                {
                    A = "a" + r.Next(100),
                    B = "b" + r.Next(100),
                    DateField = now.AddDays(r.Next(100)).Date,
                    IntField = r.Next(200),
                    FloatField = (float)(r.NextDouble() * r.Next(1000)),
                    DoubleField = r.NextDouble() * r.Next(1000),
                    DecimalField = (decimal)(r.NextDouble() * r.Next(1000))
                };
                items.Add(item);
            }
            ListCollectionView lcv = new ListCollectionView(items);
            return lcv;
        }
    }
}

関連内容

トピック

このトピックについては、以下のトピックも参照してください。

トピック 目的

このトピックは、外部グルーピングを XamDataGrid で使用する方法について説明します。

このトピックは、 xamDataGrid の外部集計計算機能についてサンプル コードを用いて説明します。