2

私はウェブを検索してきましたが、答えを見つけることができませんでした。

カスタムクラスのオブジェクトのリストを持つBindingSourceがバインドされたDataGridViewがあります。クラスのフィールドの中に、使用して表示したい文字列フィールドがあります

Path.GetFileName();

ファイルパス全体が含まれているため、ファイルの名前だけを表示し、ファイルパス(つまり、バインドされたデータはそのまま)をバインドされたオブジェクトに保持する必要があります。

これを行う方法はありますか(フォーマット、テンプレート、スタイルなど)?セルの[値]フィールドを変更すると、オブジェクトの値(ロジック)が変更されるためです。

よろしくお願いします

4

2 に答える 2

5

DataGridViewでDataGridView.CellFormattingイベントを使用します。これにより、行と列、フォーマットされていない値など、現在のセルに関する情報を含むDataGridViewCellFormattingEventArgsオブジェクトが提供されます。Valueプロパティをフォーマットされた値に更新し、FormattingAppliedをtrueに設定すると、DataGridViewはその値をレンダリングします。

このようなもの:

private void dataGridView1_CellFormatting(object sender, 
    DataGridViewCellFormattingEventArgs e)
{
    if (e.ColumnIndex == 0) // Check for the column you want
    {
        e.Value = Path.GetFileName(e.Value.ToString());
        e.FormattingApplied = true;
    }
}
于 2010-08-09T11:56:58.250 に答える
0

Bindingクラスには、データが両方の方法でフォーマットされる方法を定義できるイベントハンドラーがありますFormat()Parse()

于 2010-08-09T11:55:00.323 に答える