作成日: 2021/04/08 最終更新日: 2021/04/08
文書種別
使用方法
詳細
列のDataTypeが数値型である場合、列のスタイルのTextAlignを中央寄せや左寄せに設定しても、編集時には右寄せになります。
以前のバージョンでは、編集時もTextAlignの設定に従ってテキストが配置されましたが、ComponentOne 2011J v2(ビルド 4.6.20112.623)にて内部的な調整が行われ、このような動作に変更されました。
編集時にもTextAlignの設定と同じ配置で表示したい場合は、C1FlexGridのetupEditorイベントを使用し、編集コントロール(内部的にTextBoxを使用)のTextAlignを明示的に設定してください。
以下のサンプルコードでは、編集時・表示時とも中央揃えでテキストを表示します。
◎サンプルコード(VB)
以前のバージョンでは、編集時もTextAlignの設定に従ってテキストが配置されましたが、ComponentOne 2011J v2(ビルド 4.6.20112.623)にて内部的な調整が行われ、このような動作に変更されました。
編集時にもTextAlignの設定と同じ配置で表示したい場合は、C1FlexGridのetupEditorイベントを使用し、編集コントロール(内部的にTextBoxを使用)のTextAlignを明示的に設定してください。
以下のサンプルコードでは、編集時・表示時とも中央揃えでテキストを表示します。
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
C1FlexGrid1.Cols(1).DataType = GetType(Int32)
C1FlexGrid1.Cols(1).StyleNew.TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.CenterCenter
C1FlexGrid1(1, 1) = 1
End Sub
Private Sub C1FlexGrid1_SetupEditor(sender As Object, e As C1.Win.C1FlexGrid.RowColEventArgs) Handles C1FlexGrid1.SetupEditor
If e.Col = 1 Then
DirectCast(C1FlexGrid1.Editor, TextBox).TextAlign = HorizontalAlignment.Center
End If
End Sub
◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
c1FlexGrid1.Cols[1].DataType = typeof(Int32);
c1FlexGrid1.Cols[1].StyleNew.TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.CenterCenter;
c1FlexGrid1[1, 1] = 1;
}
private void c1FlexGrid1_SetupEditor(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
{
if ((e.Col == 1))
{
((TextBox)c1FlexGrid1.Editor).TextAlign = HorizontalAlignment.Center;
}
}