نمایش نتایج 1 تا 4 از 4

نام تاپیک: خطای IndexOutOfRange

  1. #1

    Exclamation خطای IndexOutOfRange

    سلام به همگی
    یه قسمت از کدم خطا میده و نمیتونم خطاشو برطرف کنم ممنون میشم اگه کمکم کنید


    string strInput = strFields.Substring(0, strFields.Length - 1);
    char[] commaSeparator = new char[] { ',' };
    string[] filds = strInput.Split(commaSeparator);
    dt1.Clear();
    object[] list = new object[dt1.Columns.Count];
    int j = 0;
    for (int i = 0; i <= dataGridView1.Rows.Count - 1; i++)
    {
    j = 0;
    foreach (string fild in filds)
    {
    if (fild == "CodeSH")
    list[j] = dataGridView1.Rows[i].Cells[0].Value;
    if (fild == "Area")
    list[j] = dataGridView1.Rows[i].Cells[1].Value;
    if (fild == "Jbo")
    list[j] = dataGridView1.Rows[i].Cells[4].Value;
    if (fild == "Sensor")
    list[j] = dataGridView1.Rows[i].Cells[2].Value;
    if (fild == "System")
    list[j] = dataGridView1.Rows[i].Cells[5].Value;
    if (fild == "Command")
    list[j] = dataGridView1.Rows[i].Cells[3].Value;
    if (fild == "Factory")
    list[j] = dataGridView1.Rows[i].Cells[22].Value;
    if (fild == "CodeLO")
    list[j] = dataGridView1.Rows[i].Cells[6].Value;
    if (fild == "InstallLO")
    list[j] = dataGridView1.Rows[i].Cells[20].Value;
    if (fild == "Segment")
    list[j] = dataGridView1.Rows[i].Cells[7].Value;
    if (fild == "NourishVOL")
    list[j] = dataGridView1.Rows[i].Cells[8].Value;
    if (fild == "MaintenanceVOL")
    list[j] = dataGridView1.Rows[i].Cells[9].Value;
    if (fild == "StreamNYMY")
    list[j] = dataGridView1.Rows[i].Cells[10].Value;
    if (fild == "PeakStream")
    list[j] = dataGridView1.Rows[i].Cells[11].Value;
    if (fild == "DisposalPower")
    list[j] = dataGridView1.Rows[i].Cells[12].Value;
    if (fild == "X")
    list[j] = dataGridView1.Rows[i].Cells[13].Value;
    if (fild == "Y")
    list[j] = dataGridView1.Rows[i].Cells[14].Value;
    if (fild == "Z")
    list[j] = dataGridView1.Rows[i].Cells[15].Value;
    if (fild == "Ip")
    list[j] = dataGridView1.Rows[i].Cells[16].Value;
    if (fild == "Scale")
    list[j] = dataGridView1.Rows[i].Cells[17].Value;
    if (fild == "NumBoard")
    list[j] = dataGridView1.Rows[i].Cells[18].Value;
    if (fild == "Install")
    list[j] = dataGridView1.Rows[i].Cells[19].Value;
    if (fild == "Outside")
    list[j] = dataGridView1.Rows[i].Cells[21].Value;
    if (fild == "Description")
    list[j] = dataGridView1.Rows[i].Cells[23].Value;
    j = j + 1;
    }
    dt1.Rows.Add(list);

    توضیحات کد: تو یه صفحه به کاربر این امکان رو میدم که ستونهای دلخواهش رو واسه نمایش در گزارش انتخاب کنه این ستونها رو بصورت یه آرایه رشته ای دریافت می کنم بعد نام هر ستون رو به عنوان یه زیر رشته جدا می کنم و به ازای هر نام ستون وارد شده اون ستون رو از داده های دیتاگریدویو جدا کرده به یه لیست اضافه میکنم که بعدا اون لیست رو به دیتاتیبلی که قرار هست به گزارش ارسال شه add میکنم.
    مشکلی که دارم اینه که فرضا اگه ستون Area توسط کاربر انتخاب شده باشه کد زیر باید اجرا شه

    if (fild == "Area")
    list[j] = dataGridView1.Rows[i].Cells[1].Value;
    اما بلافاصله بعد از اجرای خط دوم این خطا که تصویرشو گذاشتم رخ میده.علتش چی هست؟!!!

  2. #2
    کاربر دائمی آواتار parvizwpf
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    TEH
    پست
    2,919

    نقل قول: خطای IndexOutOfRange

    این ارور داره میگه شما اندیس فلانم رو ندارید ببنید i در اون لحظه چنده و آیا واقعا وجود داره همچین سطری؟

  3. #3

    نقل قول: خطای IndexOutOfRange

    چک کردم i مقدار صفر میگیره و اولین سطرو برمیگردونه ایراد از i نیست

  4. #4
    کاربر دائمی آواتار parvizwpf
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    TEH
    پست
    2,919

    نقل قول: خطای IndexOutOfRange

    j چطور؟ خلاصه یکی از اون اندیسها از اندازه واقعی خارجه

تاپیک های مشابه

  1. رفع خطای (بی ربط) !Out of memory
    نوشته شده توسط ع.م.خ در بخش برنامه نویسی در 6 VB
    پاسخ: 9
    آخرین پست: یک شنبه 21 فروردین 1384, 12:09 عصر
  2. رفع خطای برنامه
    نوشته شده توسط mohammad6 در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: چهارشنبه 02 مهر 1382, 18:36 عصر
  3. خطای calss dose nat support
    نوشته شده توسط کم حوصله در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 3
    آخرین پست: جمعه 21 شهریور 1382, 17:24 عصر
  4. خطای برنامه در جایی که sql serverنصب نیست
    نوشته شده توسط jannati در بخش مسائل مرتبط با نصب و راه اندازی
    پاسخ: 3
    آخرین پست: پنج شنبه 06 شهریور 1382, 01:21 صبح
  5. خطای Cgi TimeOut در دلفی(روش زیاد کردنTimeOut سرور در دلفی؟)
    نوشته شده توسط anoush در بخش توسعه نرم افزارهای تحت شبکه
    پاسخ: 1
    آخرین پست: سه شنبه 10 تیر 1382, 20:01 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •