データグリッドビュー:制限されたデータを実際に変更せずに値をフォーマットしますか?
-
27-09-2019 - |
質問
ウェブで検索しましたが、答えが見つかりませんでした。
BindingSource が境界付けされた DataGridView があり、これにはカスタム クラスのオブジェクトのリストがあります。クラスのフィールドの中には、次を使用して表示したい文字列フィールドがあります。
Path.GetFileName();
ファイルパス全体が含まれており、ファイルの名前だけを表示し、ファイルパス(つまり、境界付きデータをそのままの状態で)を境界付きオブジェクトに保持したいからです。
これを行う方法(フォーマット、テンプレート、スタイルなど)はありますか?Cell の Value フィールドを変更すると、オブジェクトの値も変更されるためです (これはロジックです)。
よろしくお願いします
解決
使用 DataGridView.CellFormatting DataGridViewの上のイベント。これには、あなたの現在のセルに関する情報をA DataGridViewCellFormattingEventArgs のオブジェクトを提供します行と列とフォーマットされていない値。あなたはtrueにFormattingAppliedフォーマットされた値とセットにValueプロパティを更新し、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;
}
}
所属していません StackOverflow