안녕하세요, 내가 선택한 파일 항목에서 데이터 항목을 삭제하려고 할 때 사용할 파일 경로 ID가 있으므로 문자열을 저장하려고합니다.C# 데이터 그리드 셀 추출
잘 모르겠습니다. 올바른 방법입니다.
내 서재는 다음과 같습니다.
| ID | UserNumber | 이름 | 성 | 현재 | imagePath |
.01 ... 454656 ......... 해리 .......... 포터 ......... 마법사 ... ftp : // 192.168.1.8/Jellyfish.jpg
내 datagrid에서 "선택 항목"을 삭제하려고 할 때도 내 FTP 서버에서 삭제됩니다. imagePath coloum 아래에 저장된 정보가 필요하므로 내 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();
여전히 오류가 발생합니다. 인덱스가 범위를 벗어났습니다. 음수가 아니어야하며 콜렉션의 크기보다 작아야합니다. 매개 변수 이름 : 색인 –
업데이트 된 답변 @Garrith를 확인하십시오 :) –