Vb.net 更改列标题文本DataGridView

Vb.net 更改列标题文本DataGridView,vb.net,visual-studio-2010,Vb.net,Visual Studio 2010,正如标题所说。我的代码不起作用,我不知道为什么。我查看了其他来源,他们似乎建议我在下面通过代码尝试做什么。有人有什么想法吗 我还尝试了.Columns(0).Name=新标题名 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load With DataGridView1 .DefaultCellStyle.SelectionBackColor =

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

我还尝试了
.Columns(0).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

谢谢

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

[DisplayName("Header Name")]
public string fieldName{get;set;}
myDataGrid.TableStyles[0].GridColumnStyles[0].HeaderText = "Header Name"
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);
另一方面,正如你所说,你应该使用:

grid.Columns[0].HeaderText = "Header Name";
但在这里,我没有尝试其他东西。也可以尝试以下方法:

[DisplayName("Header Name")]
public string fieldName{get;set;}
myDataGrid.TableStyles[0].GridColumnStyles[0].HeaderText = "Header Name"
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);
但正如答案所说,你应该这样做:

[DisplayName("Header Name")]
public string fieldName{get;set;}
myDataGrid.TableStyles[0].GridColumnStyles[0].HeaderText = "Header Name"
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);

我没有。我需要在我的网格视图中添加一个表样式吗?请看下面的答案:)谢谢。由于某种原因,列(0).HeaderText=“Name”仍然不适合我。我还没有找到一个适合我需要的工作解决方案。