Я использую Windows Forms Datagridview для отображения некоторого (длинного) текста. (Код - PowerShell, но проблема связана с режимом упаковки ячеек)
$TestGridView = New-Object System.Windows.Forms.DataGridView -Property @{
Name="TestDataGridView"
AllowUserToAddRows = $False
AllowUserToDeleteRows = $False
Location = "14,225"
Size = "1041,328"
TabIndex = 1
DefaultCellStyle= @{WrapMode ='True'}
RowHeadersVisible=$False
AutoSizeColumnsMode='Fill'
AutoSizeRowsMode = 'AllCells'
Anchor = 'Left, Right, Top, Bottom'
DefaultCellStyle.Padding = new-object Windows.Forms.Padding -a 2
}
Я использую обертку ячеек и AutosizeRowMode, но я не нашел способа, чтобы ячейка DGV отображалась до определенной точки, а затем усекалась многоточием при превышении размера ячейки. Я бы хотел сделать следующее: (графическое редактирование)
но пока мне не удалось этого сделать:
WrapMode = False, AutoSizeRowsMode = AllCells
усекает многоточием, но удаляет все CRLF и отображает только одну строку
WrapMode = False, AutoSizeRowsMode = None
Высота строки установлена на желаемое значение, но в остальном усечение такое же, как указано выше
WrapMode = True, AutoSizeRowsMode = AllCells
Без усечения, отображается весь текст, а высота ячейки адаптирована для размещения всего текста.
WrapMode = True, AutoSizeRowsMode = None
Высота остается прежней, но усечение не выполняется.
Я пытаюсь добиться максимального увеличения размера строк, после чего текст должен быть усечен многоточием [...]
Я уже пробовал обрезать содержимое, но у него есть отрицательный побочный эффект: когда пользователь КОПИРУЕТ содержимое ячейки, в содержимом ячейки отсутствует вся усеченная часть (конечно), поэтому это не жизнеспособный вариант.
Большое спасибо