#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. либо в конструкторе, либо в коде (сразу после привязки данных или около того)