Программа перестает отвечать на запросы после нажатия на информацию в представлении таблицы данных

#c# #winforms

Вопрос:

каждый раз, когда я нажимаю на любого пользователя в моей программе просмотра таблицы данных, программа перестает отвечать и выдает мне сообщение об ошибке «Система.Исключение ArgumentOutOfRangeException: «Индекс вышел за пределы диапазона. Должно быть неотрицательным и меньше размера коллекции. Arg_ParamName_Name'» Часть, которая показывает мне эту ошибку, является

 VartotojoID.Text = VartotojuDGV.SelectedRows[0].Cells[0].Value.ToString();
 

Комментарии:

1. хорошо, если в вашей сетке данных не выбрана ни одна строка….

2. похоже SelectedRows[0] , пусто или последующий .Cells[0] вызов

Ответ №1:

Попробуй

 VartotojoID.Text = VartotojuDGV.SelectedRows.Cast<DataGridViewRow>().FirstOrDefault()?.Cells[0].Value.ToString();
 

Обновленный
Старая коллекция, которую вам нужно будет сначала отлить, извините

Комментарии:

1. Это больше не приводит к сбою, это хорошо, однако выбранные объекты не отображаются в моих текстовых полях, которые у меня есть, несмотря на то, что они настроены таким образом

2. конфигурировать VartotojuDGV.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

3. таким образом, вы всегда выбираете целую строку

4. либо в конструкторе, либо в коде (сразу после привязки данных или около того)