سلام. من میخوام که درون هر گریدویو حدااکثر 6 رکورد داشته باشم. یعنی اگر جستجوی من ( یعنی چیزی که داخل دیتاتیبل ریختم) مثلا 8 رکورد داشت 6رکورد اول درون گرید اول و 2 رکورد آخر هم درون گرید دوم ریخته بشه. من کد زیر رو نوشتم ولی خطای مربوط به خارج از محدوده بودن ایندکس میده ( من که هرچی فکر میکنم می بینم درست مقداردهی میکنم. موقع اجرا عدد 8 درون countrecorddt قرار میگیره. حالا مشکل از کجاست نمیدونم...).
کد :
countrecorddt = DtStudent.Rows.Count;
if(countrecorddt <= 6)
GrdTotalExam1.DataSource = mystudent.DtStudent;
if (countrecorddt > 6 && countrecorddt <= 12)
{
for (int i = 0; i < 6; i++)
{
GrdTotalExam1.Rows[i].Cells["ClmExamID"].Value = DtStudent.Rows[i]["ExamID"].ToString();
GrdTotalExam1.Rows[i].Cells["ClmDateExam"].Value = DtStudent.Rows[i]["DateExam"].ToString();
}
for (int j = 0; j < countrecorddt - 6; j++)
{
GrdTotalExam2.Rows[j].Cells["ClmExamID"].Value = DtStudent.Rows[ 6 + j]["ExamID"].ToString();
GrdTotalExam2.Rows[j].Cells["ClmDateExam"].Value = DtStudent.Rows[ 6 + j]["DateExam"].ToString();
}
}
خطا (به همون خط اول مربوط به مقداردهی گرید گیر میده) :
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index