CodeZine(コードジン)

特集ページ一覧

「SPREAD for Windows Forms 7.0J」の新機能に迫る

グレープシティのフラグシップコンポーネントがWindows 8/Visual Studio 2012に対応

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2013/02/18 18:00
目次

セル、行、列エディタの実行

 SPREADでセルを修飾するには、製品付属の専用デザイナを使用します。

 SPREADのデザイナの起動は2つの方法があります。1つはWindowsフォーム上のSPREADコントロールの[FpSpreadタスク]から、もう一つは非表示コントロール領域に配置されたSheetViewの[SheetViewタスク]からです。シートのデザインに特化したのは後者なので、まずはSheetViewタスクから「セル、行、列エディタ」を起動してみましょう。

図6 SheetViewタスクからのデザイナ実行
図6 SheetViewタスクからのデザイナ実行

セル、行、列エディタでの作業

 セル、行、列エディタでは、セル単位、行単位、列単位の設定が可能です。今回は列にバインドしてデータ表示を行うので列の設定を行います。

列の設定

 最初に修飾する内容としては、ComId列の削除とタイトルの日本語化を行ってみたいと思います。

 そのためには列タイトルをクリックして列ごとの設定を行います。

図7 列のプロパティ
図7 列のプロパティ

 Labelプロパティが列のタイトルなので、Labelプロパティに各列の日本語タイトルを記入していきます。CPU、Disk、Memory、Displayは要素名がタイトルとして使えるのでLabelプロパティはデフォルトのままで問題ありません。列のA~EのLabelプロパティに対して「ランキング」「製品名」「発売元」「最安値」「最高値」をそれぞれ設定します。

 次にデータソースのどの要素を割り当てるかをDataFieldプロパティに設定しようとしたのですが、DataFiledプロパティのプロパティ欄には自由に要素名が入力できません。このあたりは改善してほしい点なのですが、現状での対応策として今回はコード側でDataFieldプロパティを指定します。

 MainForm.vbのMe_Loadプロシージャの内容を変更しましょう。

リスト5 MainForm.vbの変更
Imports System.ComponentModel
Imports FarPoint.Win.Spread.Model
 
Public Class MainForm
    Private WithEvents ViewModel As New MainViewModel
 
    Private Sub Me_Load(sender As Object, e As EventArgs) Handles Me.Load
        Me.Cursor = Cursors.WaitCursor
        '
        Me.Result_Sheet.RowCount = 0
        Me.Result_Sheet.ColumnCount = 9
        Me.Result_Sheet.AutoGenerateColumns = False
        Me.Result_Sheet.Columns(0).DataField = "Ranking"
        Me.Result_Sheet.Columns(1).DataField = "Name"
        Me.Result_Sheet.Columns(2).DataField = "Manufacturer"
        Me.Result_Sheet.Columns(3).DataField = "LowestPrice"
        Me.Result_Sheet.Columns(4).DataField = "HighestPrice"
        Me.Result_Sheet.Columns(5).DataField = "CPU"
        Me.Result_Sheet.Columns(6).DataField = "Disk"
        Me.Result_Sheet.Columns(7).DataField = "Memory"
        Me.Result_Sheet.Columns(8).DataField = "Display"
        '
        Me.ViewModel.GetItemsCommand("")
    End Sub
 
    Private Sub ViewModel_PropertyChanged(sender As Object,
                                          e As PropertyChangedEventArgs) _
                                      Handles ViewModel.PropertyChanged
        Me.FpSpread1.DataSource = Me.ViewModel.Items
        '
        Me.Cursor = Cursors.Default
    End Sub
End Class

 AutoGenerateColumnsプロパティがTrueだと、データソースに合わせて列が追加されてしまうため、まずこのプロパティをFalseにします。その後、ColumnsコレクションのDataFieldプロパティに対して要素名を設定します。

実行結果

 それでは、ここまでの設定でどのように表示が変わるか確認してみましょう。

図8 実行結果
図8 実行結果

 想定したとおりのComId欄の削除とタイトル名の日本語化が行えました。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(SPREAD)

もっと読む

著者プロフィール

  • 初音玲(ハツネアキラ)

     国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。  個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。  Microsoft MVP for Windows Development...

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5