Вы можете использовать любое из следующих решений:
- Добавьте в класс сводное свойство только для чтения и используйте связанный столбец.
- Используйте событие
CellFormatting
, чтобы указать значение для несвязанного столбца.
- Используйте событие
CellPainting
для пользовательского рисования содержимого связанной или несвязанной ячейки.
- Используйте
DataRepeater
.
Вариант 1. Добавление сводного свойства
Вы можете добавить новое свойство Summary
, содержащее информацию, которую вы хотите отобразить в ячейке:
Class Book
{
// rest of properties ...
public string Summary
{
get
{
return
$"Title: {this.Title}\n" +
$"Author: {this.Author}\n" +
$"Copyright Date: {this.CopyrightDate}";
}
}
}
Затем вы можете просто использовать связанный столбец для отображения данных в таблице DataGridView
.
Примечание 1. Если модель создается автоматически, вы можете поместить новое свойство в разделяемый класс.
Примечание 2. В случае использования DataTable
вы можете просто создать столбец формулы, установив выражение для столбца.
Вариант 2. Форматирование ячеек
Вы можете добавить несвязанный столбец и просто указать значение ячейки во время выполнения в событии CellFormatting
элемента управления DataGridView
:
private void dgv_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
var dgv = (DataGridView)sender;
if (e.RowIndex < 0 || e.RowIndex == dgv.NewRowIndex)
return;
if (e.ColumnIndex == 1 /*The column index which you want to format*/)
{
var book = dgv.Rows[e.RowIndex].DataBoundItem as Book;
if (book != null)
e.Value =
$"Title: {book.Title}\n" +
$"Author: {book.Author}\n" +
$"Copyright Date: {book.CopyrightDate}";
}
}
Вариант 3. Использование события CellPaintig
для пользовательской ячейки рисования
Вы можете увидеть пример рисования содержимого ячейки разными шрифтами в этом сообщении: Как создать нижний колонтитул для ячейки в DataGridView .
Вариант 4 — Использование элемента управления DataRepeater
Вы можете использовать элемент управления DataRepeater
.
Элемент управления Visual Basic Power Packs DataRepeater
прокручиваемый. контейнер для элементов управления, которые отображают повторяющиеся данные, например, строки в таблице базы данных. Его можно использовать в качестве альтернативы элементу управления DataGridView
, когда вам нужен больший контроль над расположением данных. DataRepeater
«повторяет» группу связанных элементов управления, создавая несколько экземпляров в представлении с прокруткой. Это позволяет пользователям просматривать несколько записей одновременно.
person
Reza Aghaei
schedule
05.06.2018