gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 03:12:40 50 4
gpt4 key购买 nike

我正在尝试将数据作为一行一行地添加到 datagridview 这是我的代码,它说:

"Index was out of range. Must be non-negative and less than the size of the collection parameter name:index"

这是什么意思?我的代码有什么问题?

String Sqlstr2 = "select ItemName from Item where ItemID = '" + tbItemID.Text + "'";
db.DataRead(Sqlstr2);
string ItemName = db.dr["ItemName"].ToString();

DataGridView dataGridView1 = new DataGridView();

dataGridView1.Columns[0].Name = "ItemID";
dataGridView1.Columns[1].Name = "ItemName";
dataGridView1.Columns[2].Name = "Qty";
dataGridView1.Columns[3].Name = "UnitPrice";
dataGridView1.Columns[4].Name = "Amount";

string firstColum = tbItemID.Text;
string secondColum = ItemName;
string thirdColum = tbQuantity.Text;
string fourthColum = Convert.ToString(UnitPrice);
string fifthColum = Convert.ToString(sum);

string[] row = new string[]{ firstColum, secondColum, thirdColum, fourthColum, fifthColum };
dataGridView1.Rows.Add(row);

最佳答案

错误提示“索引超出范围”。这意味着您试图用无效的值索引一个对象。如果你有两本书,而我要你把第三本书给我,你会用滑稽的眼光看着我。这是计算机看着你很有趣。你说 - “创建一个集合”。确实如此。但最初集合是空的:不仅里面什么都没有——它没有空间容纳任何东西。 “它没有手”。

然后您说“集合的第一个元素现在是‘ItemID’”。计算机说:“我从来没有被要求为‘第一项’创造空间。”我没有手去拿你给我的这个东西。

就您的代码而言,您创建了一个 View ,但从未指定大小。你需要一个

dataGridView1.ColumnCount = 5;

在尝试访问任何列之前。修改

DataGridView dataGridView1 = new DataGridView();

dataGridView1.Columns[0].Name = "ItemID";

DataGridView dataGridView1 = new DataGridView();
dataGridView1.ColumnCount = 5;
dataGridView1.Columns[0].Name = "ItemID";

参见 http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.columncount.aspx

关于c# - 索引超出范围。必须为非负且小于集合参数名称的大小 :index,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19162248/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com