MESCIUS SPREAD for Windows Forms 17.0J > 開発者ガイド > セル > データの表示方法 > データの配置 |
個々のセル、またはセル範囲のデータの配置を設定できます。コードでは、CellクラスのHorizontalAlignmentプロパティに水平方向の配置を、VerticalAlignmentプロパティに垂直方向の配置を設定します。配置の設定には、CellHorizontalAlignment列挙体、およびCellVerticalAlignment列挙体を使用します。
次の図は、配置の設定例です。設定に使用したサンプルコードを後述します。
Cellクラスでは、セルテキスト周囲に余白を追加するTextIndentプロパティ、CellPaddingプロパティを提供しています。
データの配置方法がデータのオーバーフロー表示に影響を与えるしくみについては、「オーバーフロー表示」を参照してください。
シートのスクロールにより、セルの一部が画面上に表示されなくなったときにも、データの表示位置を維持するように設定できます。FpSpreadクラスのAllowCellContentFloatプロパティを設定します。この設定は、結合、またはマージされたセル範囲に対しても有効です。
下図は、データをセルの中央に配置した例です。シートを下にスクロールしても、データがセルの表示領域の中央に表示されるよう、表示位置が維持されます。設定方法については、後述のサンプルコードを参照してください。
AllowCellContentFloatプロパティの設定はシェイプなどのフローティングオブジェクト、斜め罫線およびスパークラインに対しては有効になりません。 |
CellクラスのHorizontalAlignmentプロパティ、およびVerticalAlignmentプロパティを設定します。
次のサンプル コードは、先頭セル(A1)のデータを水平方向は右揃え、垂直方向は下揃えに設定します。また、B2〜C3 セル内のデータを、水平方向および垂直方向に中央揃えに設定します。 このコードの結果は上図のようになります。
C# |
コードのコピー
|
---|---|
fpSpread1.Sheets[0].Cells[0,0].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Right; fpSpread1.Sheets[0].Cells[0,0].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Bottom; fpSpread1.Sheets[0].Cells[1,1,2,2].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; fpSpread1.Sheets[0].Cells[1,1,2,2].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; |
Visual Basic |
コードのコピー
|
---|---|
FpSpread1.Sheets(0).Cells(0,0).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Right FpSpread1.Sheets(0).Cells(0,0).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Bottom FpSpread1.Sheets(0).Cells(1,1,2,2).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center fpSpread1.Sheets(0).Cells(1,1,2,2).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center |
次のサンプルコードは、対象のセルに対して水平方向の配置を、セル範囲に対して垂直方向の配置を設定します。
C# |
コードのコピー
|
---|---|
FarPoint.Win.Spread.Cell cellA1; cellA1 = fpSpread1.ActiveSheet.Cells[0, 0]; cellA1.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Right; cellA1.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Bottom; FarPoint.Win.Spread.Cell cellrange; cellrange = fpSpread1.ActiveSheet.Cells[1,1,2,2]; cellrange.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; cellrange.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; |
Visual Basic |
コードのコピー
|
---|---|
Dim cellA1 As FarPoint.Win.Spread.Cell cellA1 = FpSpread1.ActiveSheet.Cells(0, 0) cellA1.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Right cellA1.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Bottom Dim cellrange As FarPoint.Win.Spread.Cell cellrange = FpSpread1.ActiveSheet.Cells(1, 1, 2, 2) cellrange.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center cellrange.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center |
次のサンプルコードは、AllowCellContentFloatプロパティを有効に設定し、対象のセルのデータが常に中央に表示されるよう設定します。
C# |
コードのコピー
|
---|---|
fpSpread1.AllowCellContentFloat = true; fpSpread1.VerticalScrollBarMode = FarPoint.Win.VerticalScrollMode.Pixel; fpSpread1.ActiveSheet.Rows[0].Height = 150; fpSpread1.ActiveSheet.Cells[0, 0].Value = "テスト"; fpSpread1.ActiveSheet.Cells[0, 0].VerticalAlignment =FarPoint.Win.Spread.CellVerticalAlignment.Center; fpSpread1.ActiveSheet.Cells[0, 0].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; |
Visual Basic |
コードのコピー
|
---|---|
FpSpread1.AllowCellContentFloat = True FpSpread1.VerticalScrollBarMode = FarPoint.Win.VerticalScrollMode.Pixel FpSpread1.ActiveSheet.Rows(0).Height = 150 FpSpread1.ActiveSheet.Cells(0, 0).Value = "テスト" FpSpread1.ActiveSheet.Cells(0, 0).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center FpSpread1.ActiveSheet.Cells(0, 0).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center |
セルを結合せずに、選択したセルの内容を列全体で中央揃えにすることができます。 このような水平方向の配置は、GrapeCity.Spreadsheet 名前空間の HorizontalAlignment.CenterAcrossSelection 列挙オプションを使用して設定できます。
CenterAcrossSelection 配置オプションを実装するには、FpSpread クラスのAllowCellOverflow プロパティを true に設定し、BorderCollapse プロパティを「Enhanced」に設定する必要があります。
次のサンプルコードは、セルを中央揃えにします。
C# |
コードのコピー
|
---|---|
fpSpread1.AllowCellOverflow = true; fpSpread1.BorderCollapse = BorderCollapse.Enhanced; TestActiveSheet.Cells["C2"].Text = "機能設定をテストします"; TestActiveSheet.Cells["C2:K2"].HorizontalAlignment = GrapeCity.Spreadsheet.HorizontalAlignment.CenterAcrossSelection;//大きな範囲に対して設定します。 TestActiveSheet.Cells["C3"].Text = "機能設定をテストします"; TestActiveSheet.Cells["C3"].HorizontalAlignment = GrapeCity.Spreadsheet.HorizontalAlignment.CenterAcrossSelection;//1つのセルに対して設定します。 TestActiveSheet.Cells["C4"].Text = "機能設定をテストします"; TestActiveSheet.Cells["C4:D4"].HorizontalAlignment = GrapeCity.Spreadsheet.HorizontalAlignment.CenterAcrossSelection;//データセルから始まる狭い範囲に対して設定します。 TestActiveSheet.Cells["C5"].Text = "機能設定をテストします"; TestActiveSheet.Cells["B5:C5"].HorizontalAlignment = GrapeCity.Spreadsheet.HorizontalAlignment.CenterAcrossSelection;//データセルで終わる小さな範囲に対して設定します。 FarPoint.Win.Spread.Dialogs.BuiltInDialogs.FormatCells(TestActiveSheet.Cells["A1:D5"]).ShowDialog(); |
Visual Basic |
コードのコピー
|
---|---|
fpSpread1.AllowCellOverflow = True fpSpread1.BorderCollapse = BorderCollapse.Enhanced TestActiveSheet.Cells("C2").Text = "機能設定をテストします" TestActiveSheet.Cells("C2:K2").HorizontalAlignment = GrapeCity.Spreadsheet.HorizontalAlignment.CenterAcrossSelection ' 大きな範囲に対して設定します。 TestActiveSheet.Cells("C3").Text = "機能設定をテストします" TestActiveSheet.Cells("C3").HorizontalAlignment = GrapeCity.Spreadsheet.HorizontalAlignment.CenterAcrossSelection ' 1つのセルに対して設定します。 TestActiveSheet.Cells("C4").Text = "機能設定をテストします" TestActiveSheet.Cells("C4:D4").HorizontalAlignment = GrapeCity.Spreadsheet.HorizontalAlignment.CenterAcrossSelection ' データセルから始まる狭い範囲に対して設定します。 TestActiveSheet.Cells("C5").Text = "機能設定をテストします" TestActiveSheet.Cells("B5:C5").HorizontalAlignment = GrapeCity.Spreadsheet.HorizontalAlignment.CenterAcrossSelection ' データセルで終わる小さな範囲に対して設定します。 FarPoint.Win.Spread.Dialogs.BuiltInDialogs.FormatCells(TestActiveSheet.Cells("A1:D5")).ShowDialog() |