2013-08-16 38 views
0

我在Windows窗体应用程序中编写代码以更改标题名称。我们如何更改datagridview标题名称?

  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” 我该如何解决?

+0

很明显,你的'dataGridView1'没有任何列。 –

+0

检查数据绑定,并确定网格中有实际的列。此外,您应该在网格列的属性上设置此值,而不是在代码中(除非您正在动态生成) –

+0

是的。没有专栏。我想创建一个空白的datagridview。我在其中插入数据。当我按下保存按钮时,数据将保存到数据库。那么我该如何创建它? –

回答

0

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

由于datagridview没有任何列,并且您试图访问位于索引0下面的代码

dataGridView1.Columns[0] 

由于我的经历,你的意见,你刚才提到你创建一个空datagridview的,然后分配数据源它。如果是这种情况,则需要在分配数据源后访问列。您还需要确保的AutoGenerateColumns =真正

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

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

if(dataGridView1.Columns.Count> 2) 
{ 
    //your code 
}