You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过代码填充DataGridView并解决索引超出范围报错

DataGridView索引越界问题解决方案

错误原因

你触发Index was out of range报错的核心原因是对WinForm中DataGridView的索引规则使用错误:

  • DataGridView的单元格访问规则为 控件名[列索引, 行索引],第一个参数为列序号,第二个参数为行序号
  • 所有索引默认从0开始计数,你添加了4个列,列的有效索引范围为0~3,第一行的有效索引为0

你之前的代码同时犯了两个错误:行列索引顺序写反、索引起始值用了1而非0,用到了不存在的索引位1(行)、4(列),自然触发越界报错。

正确代码逻辑说明

你补充的可运行代码完全符合索引规则:

// 第0列(Income列)、第0行(第一行)赋值
DGVpayStub[0, 0].Value = "Gross Wages";
// 第1列(Rate列)、第0行赋值
DGVpayStub[1, 0].Value = "0";
// 第2列(Hours列)、第0行赋值
DGVpayStub[2, 0].Value = "0";
// 第3列(CurrentTotal列)、第0行赋值变量
DGVpayStub[3, 0].Value = salary; 

额外注意事项

如果赋值前控件没有预先生成空白行,需要先调用以下代码新增行后再赋值,避免空集合也触发越界报错:

// 新增1行空白行
DGVpayStub.Rows.Add();

内容的提问来源于stack exchange,提问作者LucOliSil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 22:15:03