Здравствуйте
на сайте http://www.gotdotnet.ru/Forums/Windows/32381.aspx
написано следующее
Я могу дать стиль столбца, который показывает всегда все нормально, т.е MultiLine. Но он у меня сделан только для просмотра (наследован от DataGridColumnStyle). Чтобы его редактировать, нужно руками захостить в него текстбокс. Либо могу посоветовать наследовать от DataGridTextBoxColumn и пере определить событие Paint. Тогда будет рисовать ся все нормально. Примерно так:
Protected Overloads Overrides Sub Paint(ByVal g As Graphics, ByVal bounds As Rectangle, ByVal [source] As CurrencyManager, ByVal rowNum As Integer, ByVal backBrush As Brush, ByVal foreBrush As Brush, ByVal alignToRight As Boolean)
Dim s As String
Dim rect As Rectangle = bounds
If IsDBNull(GetColumnValueAtRow([source], rowNum)) Then
s = ""
Else
s = GetColumnValueAtRow([source], rowNum)
End If
g.FillRectangle(backBrush, rect)
g.DrawString(s, Me.DataGridTableStyle.DataGrid.Font, foreBrush, RectangleF.FromLTRB(rect.X, rect.Y, rect.Right, rect.Bottom))
End Sub
Здесь важно правильно написать именно DrawString. Тогда все рисуется ОК!
я не много не понимаю как это сделать
не могбы кто нибудь предложить полный код как это можно использовать в C#
Ответить
|