[已解决]指数超出范围。必须是非负数且小于集合的大小。参数名称:index [英] [Solved] Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index

查看:143
本文介绍了[已解决]指数超出范围。必须是非负数且小于集合的大小。参数名称: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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆