16,554
社区成员
发帖
与我相关
我的任务
分享
Public Sub AutoSizeCol(ByVal col As Integer, ByVal dataGrid1 As DataGrid)
Dim width As Single
width = 0
Dim numRows As Integer
numRows = CType(dataGrid1.DataSource, DataTable).Rows.Count
Dim g As Graphics
Dim Handle As System.IntPtr
g = Graphics.FromHwnd(dataGrid1.Handle)
Dim sf As StringFormat
sf = New StringFormat(StringFormat.GenericTypographic)
Dim size As SizeF
Dim i As Integer
i = 0
Do While (i < numRows)
size = g.MeasureString(dataGrid1(i, col).ToString, dataGrid1.Font, 500, sf)
If (size.Width > width) Then
width = size.Width
End If
i = (i + 1)
Loop
g.Dispose()
dataGrid1.TableStyles("customers").GridColumnStyles(col).Width = CType(width, Integer)
End Sub