Hi Eregnon
I thought it would be simple as well, but here is what I did.
Firstly, dont set up the grid properties DataSource & TableSource. I found it easier to set them in code.
Ive copied the code from my form (Saves on spelling mistakes)
Ive got a grid called grdHotelGroups, but the code should be self explanatory (I think)
You have to set up a DataGridTableStyle and a DataGridTextBoxColumn
I copied the code from MSDN and changed it to suit. I left the comments as they make more sense than me.
Hope this helps
[code=vb]
Private Sub FormatHGGrid()
With Me.grdHotelGroups
.DataSource = HotelGroupData
.DataMember = "tblHotelGroup"
.BorderStyle = BorderStyle.None
.CaptionFont = New Font("Tahoma", 10.0!, FontStyle.Bold)
.CaptionText = "Hotel Groups"
.Font = New Font("Tahoma", 8.0!)
End With
Put as much of the formatting as possible here.
Dim grdTableStyle1 As New DataGridTableStyle()
With grdTableStyle1
.HeaderFont = New Font("Tahoma", 8.0!, FontStyle.Bold)
.RowHeadersVisible = False
Do not forget to set the MappingName property.
Without this, the DataGridTableStyle properties
and any associated DataGridColumnStyle objects
will have no effect.
.MappingName = "tblHotelGroup"
.PreferredColumnWidth = 125
.PreferredRowHeight = 15
End With
Format each column that you want to appear in the DataGrid.
In most cases, the DataGridTextBoxColumn class is appropriate.
However, you can also use the DataGridBoolColumn class. Both
of these extend the MustInherit DataGridColumnStyle class. Notice
that the column style properties available to you are more limited
than those for the table style. For example, you cannot change
the color of an individual column.
Dim grdColStyle1 As New DataGridTextBoxColumn()
With grdColStyle1
.HeaderText = ""
.MappingName = "intHotelGroupID"
.Width = 0
.ReadOnly = True
End With
Dim grdColStyle2 As New DataGridTextBoxColumn()
With grdColStyle2
.HeaderText = "Hotel Groups"
.MappingName = "vstrHotelGroupName"
.Width = Me.grdHotelGroups.Width
End With
Add the style objects to the table styles collection of
column styles. Without this the styles do not take effect.
grdTableStyle1.GridColumnStyles.AddRange(New DataGridColumnStyle() {grdColStyle2})
grdHotelGroups.TableStyles.Add(grdTableStyle1)
End Sub
[/code]