DataGridView: Форматировать значения, не изменяя ограниченные данные?
-
27-09-2019 - |
Вопрос
Я искал через Интернет, но я не смог найти ответ.
У меня есть DataGridView с ограниченным обязанностям, который имеет список объектов пользовательского класса. Среди полей класса у меня есть строковое поле, которое я хочу показать, используя
Path.GetFileName();
Поскольку он содержит весь филипат и то, что я хочу, это показать только имя файла, но сохраняя FilePath (т. Е. Ограниченные данные Intact) в ограниченном объекте.
Есть ли способ сделать это (формат, шаблон, стили, ...)? Поскольку в любое время я изменяю поле значений ячейки, он меняет значение объекта (которое это логика).
Спасибо заранее
Решение
Использовать Datagridview.cellformatting. Мероприятие на DataGridView. Это даст вам Datagridviewcellformattingeventargs. Объект с информацией о текущей ячейке, включая строку и столбец и неформатированное значение. Вы обновляете свойство VALUE к форматушевленному значению и установите formattingapplied to 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;
}
}