目次

DataGridViewで末尾の空白を削除して値を表示する - DataGridViewでセルにTrimされた文字列を表示する - C#

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
iPentec all rights reserverd.