2014-03-30 5 views
0

데이터 집합에서 행을 삭제하고 목록 상자의 내용을 업데이트하고 데이터베이스의 내용을 업데이트하고 싶습니다. 다음 코드 조각이 있지만 아무 일도 일어나지 않은 것 같습니다. 모든 행은 여전히 ​​있습니다. 그곳에. 내가 무엇을하지 않습니까? 언 바운드 데이터 소스 항목,선택한 행을 삭제하십시오.

int selectedIndex = listBoxchildren.SelectedIndex; 
listBoxchildren.DataSource = null; 

ds.Tables["Film"].Rows[selectedIndex].Delete(); 
ds.Tables["Film"].AcceptChanges(); 
daf.Update(ds,"Film"); 
listBoxchildren.DataSource = ds; 

답변

0

난 당신이 null로 데이터 소스를 설정 때문에 그것이 생각하고 selectedIndex의 아무것도
+0

아니를 삭제하기 전에, 나는 'System.IndexOutOfRangeException' 납니다

DataSet ds = new DataSet(); SqlDataAdapter daf = new SqlDataAdapter(); ds.Tables["Film"].Constraints.Add("PK_Film", ds.Tables["Film"].Columns["id"], true); int ind = listBoxchildren.SelectedIndex; listBoxchildren.DataSource = null; ds.Tables["Film"].Rows[ind].Delete(); ds.Tables["Film"].AcceptChanges(); daf.Update(ds,"Film"); listBoxchildren.DataSource = ds; listBoxchildren.DisplayMember = "Director.fk_FilmDir.title"; 
Matt

+0

이 없습니다 null을 할당하기 전에 색인을 가져 오는 문제를 해결했습니다. 그러나 삭제가 발생하지 않습니다. – Matt

+0

@Matt null을 설정 한 후 선택한 색인에 액세스하고 있음을 알리는 미안합니다. 답변을 업데이트합니다. – Kurubaran

관련 문제