[已解决]指数超出范围。必须是非负数且小于集合的大小。参数名称:index [英] [Solved] Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
本文介绍了[已解决]指数超出范围。必须是非负数且小于集合的大小。参数名称:index的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
异常详细信息:System.ArgumentOutOfRangeException:索引超出范围。必须是非负数且小于集合的大小。
参数名称:index
这是来自主要班级
Exception Details: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
this is from main class
public void updateCompany(int companyID, string Name, int CR, decimal Tele, string address, string bookingPerson, bool payment, decimal Fax, decimal Supervisor, string email)
{
hiringCompanyTableAdapter.Update(CR, Name, Tele, address, payment, bookingPerson, Fax,Supervisor,email, companyID);
}
public string[] CompanyInfo(int companyID)
{
string[] company = new string[10];
hiringDataSet.EnforceConstraints = false;
hiringCompanyDataTable.Constraints.Clear();
hiringCompanyDataTable.Clear();
System.Data.DataColumnCollection columns;
columns = hiringCompanyDataTable.Columns;
foreach (DataColumn dc in columns) { dc.AllowDBNull = true; }
hiringCompanyTableAdapter.FillByCompanyID(hiringCompanyDataTable, companyID);
if (hiringCompanyDataTable.Count > 0)
{
company[0] = hiringCompanyDataTable.Rows[0].ItemArray[1].ToString(); //CR
company[1] = hiringCompanyDataTable.Rows[0].ItemArray[2].ToString(); //Name
company[2] = hiringCompanyDataTable.Rows[0].ItemArray[3].ToString(); //Telephone
company[3] = hiringCompanyDataTable.Rows[0].ItemArray[4].ToString(); //Address
company[4] = hiringCompanyDataTable.Rows[0].ItemArray[5].ToString(); //Payment Status
if (hiringCompanyDataTable.Rows[0].ItemArray[6] != DBNull.Value) //Contact Person
company[5] = hiringCompanyDataTable.Rows[0].ItemArray[6].ToString();
else
company[5] = " - ";
company[6] = hiringCompanyDataTable.Rows[0].ItemArray[7].ToString(); // Fax
company[7] = hiringCompanyDataTable.Rows[0].ItemArray[8].ToString(); // Supervisor Tel.
company[8] = hiringCompanyDataTable.Rows[0].ItemArray[9].ToString(); // Email
}
return company;
}
来自客户编辑课程
this is from customer edit class
protected void EditLinkButton1_Click(object sender, EventArgs e)
{
msgLabel.Visible = false;
// SearchButton1.Visible = false;
// AddButton2.Visible = false;
GridViewRow gridViewRow = (GridViewRow)(sender as Control).Parent.Parent;
int index = gridViewRow.RowIndex;
Company_id = (int)CustomerGridView1.DataKeys[index].Value;
gvwPanel.Visible = false;
List<string> Company_Details = hiring1.RetriveCompany(Company_id);
if (Company_Details[0] == "0")
CRTextBox2.Text = "";
else
CRTextBox2.Text = Company_Details[0];
NameTextBox1.Text = Company_Details[1];
TelTextBox3.Text = Company_Details[2];
AddressTextBox4.Text = Company_Details[3];
PersonTextBox5.Text = Company_Details[5];
FaxTextBox4.Text = Company_Details[6];
SupervisorTextBox.Text = Company_Details[7];
EmailTextBox.Text = Company_Details[8];
PaymentConRadioButtonList0.SelectedValue = Company_Details[4];
payment_type = "Cash";
if (PaymentConRadioButtonList0.SelectedValue == "Credit")
{
Panel1.Visible = true;
DataTable Credit_Customer = new DataTable();
Credit_Customer = hiring1.returnCreditCustomer(Company_id);
if (Credit_Customer.Rows.Count > 0)
{
AmountTextBox6.Text = Convert.ToString(Credit_Customer.Rows[0]["amount_limit"]);
PeriodTextBox7.Text = Convert.ToString(Credit_Customer.Rows[0]["period_limt"]);
//PaidTextBox1.Text = Convert.ToString(Credit_Customer.Rows[0]["total_paid"]);
//BalanceTextBox2.Text = Convert.ToString(Credit_Customer.Rows[0]["balance"]);
openBalanceTextBox.Text = Convert.ToString(Credit_Customer.Rows[0]["amount_dues"]);
openingBalance = Convert.ToDecimal(openBalanceTextBox.Text);
payment_type = "Credit";
}
}
推荐答案
仅回答从未答复的列表中删除:由OP解决。
Answered only to remove from unanswered list: solved by OP.
这篇关于[已解决]指数超出范围。必须是非负数且小于集合的大小。参数名称:index的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文