C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: DataGridViewはセル毎にAlignを設定できません


(過去ログ 70 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■40697 / inTopicNo.1)  DataGridViewはセル毎にAlignを設定できません
  
□投稿者/ sskr (1回)-(2009/09/01(Tue) 17:09:17)

分類:[VB.NET/VB2005 以降] 

指定した列はDefaultCellStyle.Alignmentで設定できるのですが、
(DataGridView1.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft)
これをセル毎に指定することは可能でしょうか?
引用返信 編集キー/
■40703 / inTopicNo.2)  Re[1]: DataGridViewはセル毎にAlignを設定できません
□投稿者/ 魔界の仮面弁士 (1260回)-(2009/09/01(Tue) 19:53:45)
No40697 (sskr さん) に返信
> 指定した列はDefaultCellStyle.Alignmentで設定できるのですが、
> (DataGridView1.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft)
> これをセル毎に指定することは可能でしょうか?

セル単位であっても列単位であっても、設定するべきは DataGridViewCellStyle クラスです。
 DataGridView1(2, 3).Style.Alignment = 〜


なお、並び替えが発生する場合や、データ内容に応じて書式を変えたい場合には、
イベントで処理すると良いでしょう。

たとえば、数値が入力されたセルを右寄せ、それ以外が入力されたセルは右寄せとしたい場合、
CellFormatting イベントを用いて、以下のように記述する事ができます。

Private Sub DataGridView1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) _
  Handles DataGridView1.CellFormatting
    Dim d As Decimal
    If Decimal.TryParse(CStr(e.Value), d) Then
        e.CellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
    Else
        e.CellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
    End If
End Sub

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -