SPREAD for WPF 4.0J - GcSpreadSheet
列のカスタマイズ
MESCIUS SPREAD for WPF 4.0J - GcSpreadSheet > 開発者ガイド > データ連結 > 列のカスタマイズ

GcSpreadSheet は自動列生成をサポートしています。列を自動的に生成したい場合は、ワークシートを CollectionView にバインドし、IDataManager インターフェイスの AutoGenerateColumns プロパティに従って自動列生成の有無を設定する必要があります。手順は以下のとおりです。

  1. CollectionView を作成し、データを追加します。(この例では ProductCollection を使用します)
    コードのコピー
    // Product オブジェクトのコレクションを生成します。
    public class ProductCollection : ObservableCollection
    {
        public ProductCollection()
        {
            Add(new Product() { ID = "CUPTNS0001", Name = "Tanabata-Star Teacup & Saucer", Quantity = 200, UnitPrice = 90 });
            Add(new Product() { ID = "CUPTND0002", Name = "Tanabata-decorated teacup and saucer", Quantity = 400, UnitPrice = 90 });
            Add(new Product() { ID = "CUPTNF0003", Name = "Tanabata-Festival Tea Cup & Saucer", Quantity = 490, UnitPrice = 60 });
            Add(new Product() { ID = "CUPSCO0004", Name = "Coast Teacup & Saucer", Quantity = 10, UnitPrice = 120 });
            Add(new Product() { ID = "CUPSCA0005", Name = "Aoba Teacup & Saucer", Quantity = 9, UnitPrice = 2000 });
        }
    }             
    
    コードのコピー
    ' Product オブジェクトのコレクションを生成します。
    Public Class ProductCollection
        Inherits ObservableCollection(Of Product)
        Public Sub New()
            Add(New Product() With {
                .ID = "CUPTNS0001",
                .Name = "Tanabata-Star Teacup & Saucer",
                .Quantity = 200,
                .UnitPrice = 90
            })
            Add(New Product() With {
                .ID = "CUPTND0002",
                .Name = "Tanabata-decorated teacup and saucer",
                .Quantity = 400,
                .UnitPrice = 90
            })
            Add(New Product() With {
                .ID = "CUPTNF0003",
                .Name = "Tanabata-Festival Tea Cup & Saucer",
                .Quantity = 490,
                .UnitPrice = 60
            })
            Add(New Product() With {
                .ID = "CUPSCO0004",
                .Name = "Coast Teacup & Saucer",
                .Quantity = 10,
                .UnitPrice = 120
            })
            Add(New Product() With {
                .ID = "CUPSCA0005",
                .Name = "Aoba Teacup & Saucer",
                .Quantity = 9,
                .UnitPrice = 2000
            })
        End Sub
    End Class
    
  2. IDataManager インターフェイスの DataSource プロパティを設定して、CollectionView をワークシートに連結します。
    コードのコピー
    // CollectionView を3番目のシートにバインドします。
    spreadSheet1.Workbook.Worksheets[2].DataManager.DataSource = CollectionViewSource.GetDefaultView(new ProductCollection());
    spreadSheet1.Workbook.Worksheets[2].Name = "CollectionView";    
    
    コードのコピー
    ' CollectionView を3番目のシートにバインドします。
    spreadSheet1.Workbook.Worksheets(2).DataManager.DataSource = CollectionViewSource.GetDefaultView(New ProductCollection())
    spreadSheet1.Workbook.Worksheets(2).Name = "CollectionView"