更改列标题文本DataGridView

时间:2014-01-13 16:05:06

标签: vb.net visual-studio-2010

正如标题所说。我的代码不起作用,我不知道为什么。我查看了其他来源,他们似乎通过代码建议我在下面尝试做什么。有人有什么想法吗?

我也试过.Columns(0).Name = New Heading Name

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

    With DataGridView1
        .DefaultCellStyle.SelectionBackColor = Color.DodgerBlue
        .DefaultCellStyle.SelectionForeColor = Color.White
        .ColumnHeadersDefaultCellStyle.BackColor = Color.DodgerBlue
        .ColumnHeadersDefaultCellStyle.BackColor = Color.AntiqueWhite
        .DefaultCellStyle.Font = New Font("Calibri", 12, FontStyle.Regular)

        .Columns(0).HeaderCell.Value = "Employee ID"
        .Columns(1).HeaderCell.Value = "Account Number"
        .Columns(2).HeaderCell.Value = "Last Name"
        .Columns(3).HeaderCell.Value = "First Name"
        .Columns(4).HeaderCell.Value = "Company"
        .Columns(5).HeaderCell.Value = "Beginning Date"
        .Columns(6).HeaderCell.Value = "Ending Date"
    End With

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您使用数据绑定到类型和自动生成的列,您可以执行以下操作:

[DisplayName("Header Name")]
public string fieldName{get;set;}

换句话说,正如你所说,你应该使用:

grid.Columns[0].HeaderText = "Header Name";

但是这里有一些我没试过的东西。也尝试这样的事情:

myDataGrid.TableStyles[0].GridColumnStyles[0].HeaderText = "Header Name"

但正如this回答所说,你应该这样做:

dataGrid1.TableStyles.Clear();
DataGridTableStyle tableStyle = new DataGridTableStyle();
tableStyle.MappingName = t.TableName;
foreach (DataColumn item in t.Columns)
{
    DataGridTextBoxColumn tbcName = new DataGridTextBoxColumn();
    tbcName.Width = 100;
    tbcName.MappingName = item.ColumnName;
    tbcName.HeaderText = item.ColumnName;
    tableStyle.GridColumnStyles.Add(tbcName);
 }
 dataGrid1.TableStyles.Add(tableStyle);