数据网格视图:格式化值而不实际更改有界数据?
-
27-09-2019 - |
题
我一直在网上搜索,但未能找到答案。
我有一个带有 BindingSource 边界的 DataGridView,它有一个自定义类的对象列表。在类的字段中,我有一个字符串字段,我想使用它来显示
Path.GetFileName();
因为它包含整个文件路径,而我想要的是仅显示文件名,但在有界对象中保留文件路径(即,有界数据完整)。
有什么方法可以做到这一点(格式、模板、样式...)?因为每当我更改单元格的值字段时,它都会更改对象的值(这是逻辑)。
提前谢谢了
解决方案
使用 DataGridView.CellFormatting 一>事件上的DataGridView。这会给你一个 DataGridViewCellFormattingEventArgs 对象与信息有关当前单元格,其中包括行和列的和未格式化的值。您更新Value属性的格式化值和设定FormattingApplied为真,并在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