DataGridViewでセルに末尾の空白を削除した値(Trimされた文字列)を表示する方法を紹介します。
データベースをDataGridViewにバインドした場合、何も設定をしないとNChar(16)などの型は16文字分DataGridViewのセルに表示されてしまいます。(設定した値が"ABCD"の場合、"ABCD "と表示されてしまいます。)
DataGridViewに末尾の文字列を取り除いたTrimした文字列を表示したいことがあります。この場合はDataGridViewのCellFormattingイベントを実装します。
コード例
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == 1 || e.ColumnIndex == 2 || e.ColumnIndex == 3) {
e.Value = Convert.ToString(e.Value).Trim();
}
}
解説
CellFormattingイベントはセルに値が設定される場合に呼び出されます。
if (e.ColumnIndex == 1 || e.ColumnIndex == 2 || e.ColumnIndex == 3) {
にて、フォーマット対象となるカラムを判定します。今回の場合はカラムが2列目,3列目,4列目の場合にフォーマットをします。
e.Value = Convert.ToString(e.Value).Trim();
にてセルの値をTrimされた文字列に設定します。
注意
上記のコードでは先頭の空白も削除されるため、実際にはTrimEnd()を用いた以下のコードを用います。
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == 1 || e.ColumnIndex == 2 || e.ColumnIndex == 3) {
e.Value = Convert.ToString(e.Value).TrimEnd();
}
}
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2024-01-06
作成日: 2012-07-16