DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGridの列ヘッダセンタリングについて

環境/言語:[Windows 2000,XP+VB.NET2002]
分類:[.NET]

Windowsアプリケーションで、DataGridコントロールの列ヘッダおよびテキストを
中央に配置されるようにしたいのですが、
「DataGridの列のテキストの配置方法を変更する」等で紹介されているように、
DataGridColumnStyleのAlignmentプロパティを変更してみたのですが、
私の環境だけ?データのテキスト配置だけ中央寄りになり、ヘッダ部分はLeftのままです。
LeftやRightはヘッダおよびテキスト配置はきちんと左寄り、右寄りとなります。
いろいろ調べてみても、このような質問をされてる方はおられないので、私だけの現象なのでしょうか?
> Windowsアプリケーションで、DataGridコントロールの列ヘッダおよびテキストを
> 中央に配置されるようにしたいのですが、
> 「DataGridの列のテキストの配置方法を変更する」等で紹介されているように、
> DataGridColumnStyleのAlignmentプロパティを変更してみたのですが、
> 私の環境だけ?データのテキスト配置だけ中央寄りになり、ヘッダ部分はLeftのままです。

苦労して「DataGridの列ヘッダテキストの配置方法のみを変更する」というTipを書いた私からすると、そのようなことが簡単にできるならどのようにすればできるのかぜひ知りたいです。

DOBON.NET .NET Tips - DataGridの列ヘッダテキストの配置方法のみを変更する
http://dobon.net/vb/dotnet/datagrid/aligncolumnheaderonly.html
流れていたので、諦めてましたが、レスありがとうございます。
端折って、コードをのせます。

Private mSampleData1 As DataSet = New DataSet("Sample1")


Form_Loadイベントで
Dim result As Boolean

'DataGrid1書式設定
result = FncDataGridFormatSet1()

を呼び出す。

上記のDataGrid書式設定を行っている内容は、次の通りです。

    Private Function FncDataGridFormatSet1() As Boolean
        Dim dt As DataTable
        Dim ts As DataGridTableStyle
        Dim cs As DataGridColumnStyle
        'Dim css As clsDataGridTextBoxColumn
        Dim c As DataColumn
        Dim result As Boolean

        Try
            'DataSetにTable追加
            dt = mSampleData1.Tables.Add("tableSample1")

            'TableにField追加
            dt.Clear()
            dt.Columns.Add("C/S No", Type.GetType("System.String"))

            'Table書式設定
            ts = New DataGridTableStyle()
            ts.MappingName = "tableSample1"
            ts.RowHeadersVisible = False                '列Title無
            ts.AllowSorting = False                      '列Title Click時Sort機能On
            'ts.HeaderBackColor = Color.Aqua             '列Title Back Color
            'ts.SelectionBackColor = Color.DeepPink
            ts.PreferredRowHeight = 24

            Me.DataGrid1.TableStyles.Add(ts)

            '[C/S No]Field書式設定
            cs = New DataGridTextBoxColumn()
            cs.MappingName = "C/S No"
            cs.HeaderText = "C/S No"
            cs.Width = 100
            cs.Alignment = HorizontalAlignment.Center
            'cs.ReadOnly = True
            ts.GridColumnStyles.Add(cs)

            Me.DataGrid1.TableStyles.Add(ts)
            Me.DataGrid1.SetDataBinding(mSampleData1, "tableSample1")


            'データを表示
            'result = FncSampleItemDisp(ts)

            Return True
        Catch ex As Exception
            Debug.WriteLine(ex.Message)
            Return False
        End Try
    End Function

DataGridのプロパティは「CaptionVisible=False」に設定しています。
どこか、間違ってるとこがあるのでしょうか...
よろしくおねがいします。

DOBON.NET | プログラミング道 | プログラミング掲示板