セル、行、列エディタの実行
SPREADでセルを修飾するには、製品付属の専用デザイナを使用します。
SPREADのデザイナの起動は2つの方法があります。1つはWindowsフォーム上のSPREADコントロールの[FpSpreadタスク]から、もう一つは非表示コントロール領域に配置されたSheetViewの[SheetViewタスク]からです。シートのデザインに特化したのは後者なので、まずはSheetViewタスクから「セル、行、列エディタ」を起動してみましょう。
セル、行、列エディタでの作業
セル、行、列エディタでは、セル単位、行単位、列単位の設定が可能です。今回は列にバインドしてデータ表示を行うので列の設定を行います。
列の設定
最初に修飾する内容としては、ComId列の削除とタイトルの日本語化を行ってみたいと思います。
そのためには列タイトルをクリックして列ごとの設定を行います。
Labelプロパティが列のタイトルなので、Labelプロパティに各列の日本語タイトルを記入していきます。CPU、Disk、Memory、Displayは要素名がタイトルとして使えるのでLabelプロパティはデフォルトのままで問題ありません。列のA~EのLabelプロパティに対して「ランキング」「製品名」「発売元」「最安値」「最高値」をそれぞれ設定します。
次にデータソースのどの要素を割り当てるかをDataFieldプロパティに設定しようとしたのですが、DataFiledプロパティのプロパティ欄には自由に要素名が入力できません。このあたりは改善してほしい点なのですが、現状での対応策として今回はコード側でDataFieldプロパティを指定します。
MainForm.vbのMe_Loadプロシージャの内容を変更しましょう。
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プロパティに対して要素名を設定します。
実行結果
それでは、ここまでの設定でどのように表示が変わるか確認してみましょう。
想定したとおりのComId欄の削除とタイトル名の日本語化が行えました。



