セル、行、列エディタの実行
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欄の削除とタイトル名の日本語化が行えました。