C# 如何更改datagridview标头名称?
我在windows窗体应用程序中编写了一个代码,用于更改标题名称C# 如何更改datagridview标头名称?,c#,winforms,datagridview,C#,Winforms,Datagridview,我在windows窗体应用程序中编写了一个代码,用于更改标题名称 DataGridViewCellStyle columnHeaderStyle = new DataGridViewCellStyle(); columnHeaderStyle.BackColor = Color.Beige; columnHeaderStyle.Font = new Font("Bookman Old Style", 8, FontStyle
DataGridViewCellStyle columnHeaderStyle = new DataGridViewCellStyle();
columnHeaderStyle.BackColor = Color.Beige;
columnHeaderStyle.Font = new Font("Bookman Old Style", 8, FontStyle.Bold);
dataGridView1.ColumnHeadersDefaultCellStyle = columnHeaderStyle;
dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
dataGridView1.Columns[0].HeaderText = "Item Code";
dataGridView1.Columns[1].HeaderText = "Item Name";
但是当我运行这段代码时,会显示一个错误。“索引超出范围。必须为非负且小于集合的大小。参数名称:Index
”
我怎样才能解决它
索引超出范围。必须为非负且小于集合的大小。参数名称:索引
出现此错误是因为datagridview没有任何列,并且您正试图在以下代码中访问索引0处的列
dataGridView1.Columns[0]
在我浏览您的评论时,您提到您创建了一个空datagridview,然后将datasource分配给它。如果是这种情况,那么您需要在分配数据源之后访问列。您还需要确保autogeneratecolumns=true
或者,如果您想创建未绑定的DataGridView,下面的代码示例演示如何创建未绑定的DataGridView
但要避免异常并确保datagridview中有列。你可以先这样做
if(dataGridView1.Columns.Count> 2)
{
//your code
}
显然,您的
dataGridView1
没有任何列。请检查数据绑定,并确保网格中确实存在列。此外,您应该在网格列的属性上设置此选项,而不是在代码中设置(除非您正在动态生成它)是。没有列。我想创建一个空白的datagridview。我在里面插入数据。当我按下保存按钮时,数据将保存到数据库中。那么我该如何创造它?@KingKing:我该如何解决这个问题?@DanielDawes:我该如何解决这个问题?