System.ArgumentOutOfRangeException: ‘插入索引已超出范围。必须为非负值,并且必须小于或等于大小

使用DataGrideView建立表格出现错误:

System.ArgumentOutOfRangeException: '插入索引已超出范围。必须为非负值,并且必须小于或等于大小。
Arg_ParamName_Name'

在这里插入图片描述
源代码如下:

private void DataGrideView1_Load(object sender, EventArgs e)
{
    var col = new DataGridViewColumn();
    //dataGridView1.ColumnCount = 6;
    //要插入列的类型
    col.CellTemplate = new DataGridViewTextBoxCell();
    col.Name = "colName";
    col.HeaderText = "显示名称";
    dataGridView1.Columns.Insert(4, col); //    插入列的位置不能少于列的个数
    //插入列赋值
    for (int i = 0; i < dataGridView1.Rows.Count; i++)
    {
        dataGridView1.Rows[i].Cells["colName"].Value = "爱琴海";
    }
}

问题原因:
对于没有绑定数据源的DataGridView,先要设置对应的列的数目,比如:
dataGridView1.ColumnCount = 5;
然后才能接着去用各种方式添加对应的数据。
而如果没有初始化对应的列数,则会导致错误,后面的数据添加的代码,根本没法执行的。
ps:DataGridView的数据来源有两种:

  • 绑定DataSource
  • 通过代码(手工)动态添加数据
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值