Largeur cellule datagridview à 1 pixel (VB.NET)
Bonjour,
J'ai un petit problème que je n'arrive pas a résoudre avec un datagridview.
J'essai d'obtenir des cellules de 1 pixel de large.
Pour ce faire, je me suis créé un customdatagridview (voir code plus bas)
Malheureusement, la cellule semble toujours garder un pixel réservé de chaque côté pour la bordure, même si elle est à none...
Merci de vtre aide.
Code du Form :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Private Sub buildform()
Dim grid As New CustomDataGridView
For i = 0 To 2
For j = 0 To 59
Dim col As New DataGridViewCustomColumn
With col
.Width = 1
End With
grid.Columns.Add(col)
Next
Next
grid.Rows.Add(1)
grid.Width = 1500
Me.Controls.Add(grid)
End Sub |
Code du CustomDataGridView
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
Public Class CustomDataGridView
Inherits DataGridView
Public Sub New()
With Me
.EnableHeadersVisualStyles = False
.RowHeadersVisible = False
.AllowUserToResizeColumns = False
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.AllowUserToOrderColumns = False
.AllowUserToResizeRows = False
.ColumnHeadersHeight = 15
.RowsDefaultCellStyle.Padding = New Padding(0, 0, 0, 0)
.AutoSizeRowsMode = False
.RowTemplate.Height = 15
.ReadOnly = True
End With
End Sub
Public Overrides Function AdjustColumnHeaderBorderStyle( _
ByVal dataGridViewAdvancedBorderStyleInput As DataGridViewAdvancedBorderStyle, _
ByVal dataGridViewAdvancedBorderStylePlaceHolder As DataGridViewAdvancedBorderStyle, _
ByVal firstDisplayedColumn As Boolean, ByVal lastVisibleColumn As Boolean) _
As DataGridViewAdvancedBorderStyle
With dataGridViewAdvancedBorderStylePlaceHolder
.Top = DataGridViewAdvancedCellBorderStyle.None
.Left = DataGridViewAdvancedCellBorderStyle.None
.Bottom = DataGridViewAdvancedCellBorderStyle.None
.Right = DataGridViewAdvancedCellBorderStyle.None
End With
Return dataGridViewAdvancedBorderStylePlaceHolder
End Function
End Class
Public Class DataGridViewCustomColumn
Inherits DataGridViewColumn
Public Sub New()
Me.CellTemplate = New DataGridViewCustomCell
End Sub
End Class
Public Class DataGridViewCustomCell
Inherits DataGridViewTextBoxCell
Public Overrides Function AdjustCellBorderStyle( _
ByVal dataGridViewAdvancedBorderStyleInput As DataGridViewAdvancedBorderStyle, _
ByVal dataGridViewAdvancedBorderStylePlaceHolder As DataGridViewAdvancedBorderStyle, _
ByVal singleVerticalBorderAdded As Boolean, _
ByVal singleHorizontalBorderAdded As Boolean, _
ByVal firstVisibleColumn As Boolean, _
ByVal firstVisibleRow As Boolean) As DataGridViewAdvancedBorderStyle
With dataGridViewAdvancedBorderStylePlaceHolder
.Top = DataGridViewAdvancedCellBorderStyle.None
.Left = DataGridViewAdvancedCellBorderStyle.None
.Bottom = DataGridViewAdvancedCellBorderStyle.None
.Right = DataGridViewAdvancedCellBorderStyle.None
End With
Return dataGridViewAdvancedBorderStylePlaceHolder
End Function
End Class |