0

我在 Windows 窗体应用程序中编写了一个代码来更改标题名称。

            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 was out of range. Must be non-negative and less than the size of the collection.Parameter name: index“我该如何解决?

4

1 回答 1

0

指数超出范围。必须为非负数且小于集合的大小。参数名称:索引

您收到此错误是因为您的 datagridview 没有任何列,并且您试图访问以下代码中索引 0 处的列

dataGridView1.Columns[0]

当我浏览您的评论时,您提到您创建了一个空的 datagridview,然后将数据源分配给它。如果是这种情况,那么您需要在分配数据源后访问列。您还需要确保 autogeneratecolumns = true

或者如果你想创建一个未绑定的 DataGridView下面的代码示例演示了如何创建一个未绑定的DataGridView

虽然为了避免异常并确保您的 datagridview 中有列。你可以先这样做

if(dataGridView1.Columns.Count> 2)
{
     //your code
}
于 2013-08-16T16:37:51.780 回答