@shutov_95

Всё ещё «Индекс за пределами диапазона»?

Выдаёт ошибку пока непонятно с чем связанную.
Данные в dgv кладутся из базы access. Сначала подумал, что это может быть связано с тем, что 5 столбец у dgv на момент попытки занесения в него данных попросту не определён (хз определяется ли автоматом).
В итоге из-за сложностей переноса базы из access вместо определения количества столбцов решил добавить их в файл БД.
Всё ещё не помогло.
В чём может быть проблема?
for (int x = 0; x < 36; x++)
            {
                switch (x / 3)
                {
                    case 0:
                        {
                            mas[x, 0] = mas[x, 0] * k1 * k11;
                            mas[x, 1] = mas[x, 1] * k1 * k11;
                            mas[x, 2] = mas[x, 2] * k1 * k11;
                            mas[x, 3] = mas[x, 3] * k1 * k11;
                            dataGridView1[5, x].Value = mas[x, 0];  //на этой строчке выдаёт ошибку
                            dataGridView1[6, x].Value = mas[x, 1];
                            dataGridView1[7, x].Value = mas[x, 2];
                            dataGridView1[8, x].Value = mas[x, 3];
                            break;
                        }

Подробности

System.ArgumentOutOfRangeException
HResult=0x80131502
Сообщение = Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
Источник = mscorlib
Трассировка стека:
в System.Collections.ArrayList.get_Item(Int32 index)
в System.Windows.Forms.DataGridViewCellCollection.get_Item(Int32 index)
в System.Windows.Forms.DataGridView.get_Item(Int32 columnIndex, Int32 rowIndex)
в Diplom.Form1.Button1_Click(Object sender, EventArgs e) в C:\Users\Vladimir\source\repos\Diplom1\Diplom\Form1.cs:строка 295
в System.Windows.Forms.Control.OnClick(EventArgs e)
в System.Windows.Forms.Button.OnClick(EventArgs e)
в System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ButtonBase.WndProc(Message& m)
в System.Windows.Forms.Button.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.Run(Form mainForm)
в Diplom.Program.Main() в C:\Users\Vladimir\source\repos\Diplom1\Diplom\Program.cs:строка 19
  • Вопрос задан
  • 2818 просмотров
Пригласить эксперта
Ответы на вопрос 1
Griboks
@Griboks Куратор тега C#
ОМГ, может за вас ещё программу написать надо? В чём ваша проблема?
1. Получаете исключение
2. Смотрите индекс
3. Смотрите диапазон
4. Находите ошибку
Сначала читаете введение в C# и Visual Studio, потому гугл, потом тостер, потом задаёте вопрос.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы