Эй, я пытаюсь сохранить строку из выбранного элемента в сетке данных, так как у него есть идентификатор пути к файлу, который используется для удаления.
Не уверен, что я поступаю правильно.
мои колонки выглядят так
| ID | UserNumber | FirstName | Фамилия | Текущий | imagePath |
.. 01 ... 454656 ......... Гарри Поттер .......... ......... Мастер .... FTP: //192.168 .1.8 / Jellyfish.jpg
я пытаюсь "на выбор" в моей сетке данных, когда я удаляю, я также удаляю с моего FTP-сервера. Мне нужна информация, хранящаяся в столбце imagePath, чтобы я мог затем удалить ftp.
private void button2_Click(object sender, RoutedEventArgs e)
{
string imagePath = dataGrid1.SelectedItems.ToString();
Student selected = dataGrid1.SelectedItem as Stu;
if (selected == null)
MessageBox.Show("You must select a user");
else
{
if (MessageBoxResult.Yes == MessageBox.Show("Are you sure", "delete user",
MessageBoxButton.YesNo, MessageBoxImage.Warning))
{
FTPdelete(imagePath, "Administrator", "commando");
Class1.DeleteStudent(selected);
Window_Loaded(null, null);
}
}
}
private void FTPdelete(String imagePath, String inUsername, String inPassword)
{
var req = (FtpWebRequest)WebRequest.Create(imagePath);
req.Proxy = null;
req.Credentials = new NetworkCredential(inUsername, inPassword);
req.Method = WebRequestMethods.Ftp.DeleteFile;
req.GetResponse().Close();
}
}
}
ошибка, которую я получаю:
Индекс был вне диапазона. Должен быть неотрицательным и меньшим, чем размер коллекции. Имя параметра: индекс
в этой строке:
string imagePath = dataGrid1.SelectedItems[6].ToString();
я тоже попробовал
var imagePath = dataGrid1.SelectedItems[6].ToString();
Не повезло :( Думал, у меня это почти получилось !!