よりExcelライクに進化
SPREADといえば「Excelのような外観と操作性」が最大の特長です。10.0JではさらにExcel互換機能を強化し、よりExcelに近い機能を実現します。
ソート
ExcelでもSPREADでも非常によく使われている機能の一つがソート(並べ替え)です。SPREADでは8.0J以前のバージョンでもソート機能を搭載しており、列ヘッダのクリックによるソート、またメソッドによるソート実行が可能でした。10.0Jでは、これに加えてフィルタリングのドロップダウンに、「降順」「昇順」や「色で並べ替え」というメニューを追加できるようになり、よりExcelに近いUIが実現できるようになりました。その手順は非常に簡単で、プロパティを設定するだけです。実際にコードを見てみましょう。
まずは、ソート対象となるサンプルデータを作成します。ここでは便宜的に先頭列のセルに、1~10までの数値と3色の背景色を設定します。
‘ 行数を20行に設定し、先頭の1~10行に数値を設定します。 FpSpread1.Sheets(0).RowCount = 20 For i As Integer = 0 To 10 FpSpread1.Sheets(0).SetValue(i, 0, i.ToString()) Next ' 3行毎に背景色を設定します。 For i As Integer = 0 To FpSpread1.Sheets(0).RowCount - 1 If i Mod 3 = 0 Then FpSpread1.Sheets(0).Rows(i).BackColor = System.Drawing.Color.Azure ElseIf i Mod 3 = 1 Then FpSpread1.Sheets(0).Rows(i).BackColor = System.Drawing.Color.Beige ElseIf i Mod 3 = 2 Then FpSpread1.Sheets(0).Rows(i).BackColor = System.Drawing.Color.LavenderBlush End If Next
// 行数を20行に設定し、先頭の1~10行に数値を設定します。 fpSpread1.Sheets[0].RowCount = 20; for(int i = 0; i < 10; i++) { fpSpread1.Sheets[0].SetValue(i, 0, i.ToString()); } // 3行毎に背景色を設定します。 for (int i = 0; i < fpSpread1.Sheets[0].RowCount; i++) { if (i % 3 == 0) { fpSpread1.Sheets[0].Rows[i].BackColor = System.Drawing.Color.Azure; } else if (i % 3 == 1) { fpSpread1.Sheets[0].Rows[i].BackColor = System.Drawing.Color.Beige; } else if (i % 3 == 2) { fpSpread1.Sheets[0].Rows[i].BackColor = System.Drawing.Color.LavenderBlush; } }
次にフィルタリングのドロップダウンにソート機能を追加します。先頭列のソート操作とフィルタリング操作を許可し、AutoFilterModeプロパティで設定できるフィルタリングの種類から拡張フィルタリング(EnhancedContextMenu)を選択します。最後にAutoSortEnhancedContextMenuプロパティをTrueに設定するだけで、フィルタリングのドロップダウンからソートできるようになります。
FpSpread1.Sheets(0).Columns(0).AllowAutoFilter = True FpSpread1.Sheets(0).Columns(0).AllowAutoSort = True FpSpread1.Sheets(0).AutoFilterMode = FarPoint.Win.Spread.AutoFilterMode.EnhancedContextMenu FpSpread1.Sheets(0).AutoSortEnhancedContextMenu = True
fpSpread1.Sheets[0].Columns[0].AllowAutoFilter = true; fpSpread1.Sheets[0].Columns[0].AllowAutoSort = true; fpSpread1.Sheets[0].AutoSortEnhancedContextMenu = true; fpSpread1.Sheets[0].AutoFilterMode = FarPoint.Win.Spread.AutoFilterMode.EnhancedContextMenu;
これだけの設定で、フィルタリングのドロップダウンにソートに関するメニュー(上部3つ)が追加されます。
また、「色で並べ替え」メニューから開かれるサブメニューより「ユーザー設定の並べ替え…」を選択すると、複数のキーで並べ替えを行うためのダイアログが表示されます。
この新機能は製品ヘルプの「ユーザー設定の並べ替えダイアログの追加」で解説しています。ソートやフィルタリングに関しては、範囲指定のソートやユーザーが条件を入力できるフィルタリングなど、さまざまな機能を用意しています。製品ヘルプの「ソート」「フィルタリング」で機能を紹介していますので、ご一読ください。
ステータスバー
Excelの便利機能の一つにステータスバーが挙げられます。たとえば、複数のセルを選択すると、その範囲に含まれるセルの合計や平均値が表示されます。合計や平均の数式を設定する必要もなく、ちょっとした集計値を確認したいときなど、とても便利です。また、シートを拡大・縮小するズームスライダーは、画面の小さいタブレットやモバイルPCの使用時には重宝します。同等の機能をもつステータスバーがSPREADにも追加することができるようになりました。
設定はとても簡単で、FpSpreadクラスのStatusBarVisibleプロパティをTrueにするだけです。
FpSpread1.StatusBarVisble = True
fpSpread1.StatusBarVisible = true;
セルに適当な数値を入力し、選択するだけでステータスバーには平均、データの個数、合計が表示され、またズームスライダーと拡大率も既定で表示されます。
ステータスバーを右クリックすると、ステータスバーに表示するメニューを選択でき、エンドユーザーが表示項目を自由にカスタマイズすることができます。
既定の設定でも充分な機能を持つSPREADのステータスバーですが、背景色や文字色、フォントなどのスタイルを変更することもできます。詳細は製品ヘルプの「ステータスバーの追加」で解説しています。