使用vb.net重命名DataGridView控件中的列标题

时间:2013-07-27 06:36:08

标签: vb.net datagridview

我尝试了以下代码,但列仍然继承了表的字段名称

   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

内容如下:

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

此外,我需要使用REGNO(第一列)按升序对内容进行排序

我正在使用vb.net

4 个答案:

答案 0 :(得分:5)

要更改列标题,请使用.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

对于初始排序,您可以使用

DataGridView1.Sort(DataGridView1.Columns(0), System.ComponentModel.ListSortDirection.Ascending)

答案 1 :(得分:0)

SELECT rollno as 'RollNo', name as 'Name', class as 'Class' FROM student_tbl 这将重命名标题

答案 2 :(得分:0)

或者"Data Grid Object".Columns("column index").HeaderText = "value"也适用。

答案 3 :(得分:-1)

DataGridView1.DataSource = ds.Tables("student_attendance_table")
    With DataGridView1
        .RowHeadersVisible = False
        .Columns(0).HeaderText = "Register No."
        .Columns(1).HeaderText  = "Date"
        .Columns(2).HeaderText  = "Year"
        .Columns(3).HeaderText  = "Batch"
        .Columns(4).HeaderText  = "Hour 1"
        .Columns(5).HeaderText  = "Hour 2"
        .Columns(6).HeaderText  = "Hour 3"
        .Columns(7).HeaderText  = "Hour 4"
        .Columns(8).HeaderText  = "Hour 2"
        .Columns(9).HeaderText  = "Attendance"
    End With

试试这个,我用的是同样的。为我工作!