Renaming column header in DataGridView Control using vb.net
datagridview, vb.net
Solution
To change the column header use the `.HeaderCell.Value = "Display Value"`
DataGridView1.DataSource = ds.Tables("student_attendance_table")
With DataGridView1
.RowHeadersVisible = False
.Columns(0).HeaderCell.Value = "Register No."
.Columns(1).HeaderCell.Value = "Date"
.Columns(2).HeaderCell.Value = "Year"
.Columns(3).HeaderCell.Value = "Batch"
.Columns(4).HeaderCell.Value = "Hour 1"
.Columns(5).HeaderCell.Value = "Hour 2"
.Columns(6).HeaderCell.Value = "Hour 3"
.Columns(7).HeaderCell.Value = "Hour 4"
.Columns(8).HeaderCell.Value = "Hour 2"
.Columns(9).HeaderCell.Value = "Attendance"
End With
and for initial sorting you can use
DataGridView1.Sort(DataGridView1.Columns(0), System.ComponentModel.ListSortDirection.Ascending)
Problem
I tried out the following code but the columns still inherit the table's field names ``` DataGridView1.DataSource = ds.Tables("student_attendance_table") With DataGridView1 .RowHeadersVisible = False .Columns(0).Name = "Register No." .Columns(1).Name = "Date" .Columns(2).Name = "Year" .Columns(3).Name = "Batch" .Columns(4).Name = "Hour 1" .Columns(5).Name = "Hour 2" .Columns(6).Name = "Hour 3" .Columns(7).Name = "Hour 4" .Columns(8).Name = "Hour 2" .Columns(9).Name = "Attendance" End With ``` Content follows: ``` 1138M0345 27-07-2013 3 1 P P P P P P 1138M0346 27-07-2013 3 1 P P P P P P 1138M0347 27-07-2013 3 1 P P P P P P 1138M0348 27-07-2013 3 1 P P P P P P 1138M0349 27-07-2013 3 1 P P P P P P 1138M0350 27-07-2013 3 1 P P P P P P 1138M0343 27-07-2013 3 1 A A A A A A 1138M0344 27-07-2013 3 1 A A A A A A ``` Also I need to sort the content in ascending order using REGNO (The first column) I am using vb.net