-
내가 쓰려고 만든 C# 윈폼 템플릿(Check박스를 이용한 Delete)C# 2020. 9. 15. 14:14
삭제할 행의 0번열에 체크박스를 놓고 삭제 버튼을 누르면 체크박스의 행인덱스를 바탕으로 기본키 값에 해당하는 셀을 가져와서 Delete의 where 조건절에 넣고 돌린다.
체크박스가 체크되 있는 인덱스는 List에 넣고 List.Count만큼 반복문을 돌린다.
rivate void btn_delete_Click(object sender, EventArgs e) { List<int> alist = new List<int>(); for (int i = 0; i < dataGridView1.Rows.Count; i++) { if (dataGridView1.Rows[i].Cells[0].Value.ToString() == "True") alist.Add(i); } if (alist.Count == 0) MetroMessageBox.Show(this, "선택한 삭제 항목이 없습니다."); else if (MetroMessageBox.Show(this, alist.Count + "개 항목을 정말 삭제하시겠습니까?", "종료", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { for (int i = 0; i < alist.Count; i++) { using (SqlConnection conn = new SqlConnection(Commons.CONNSTRING)) { DataSet ds = new DataSet(); conn.Open(); // 2개의 파라미터 정의 (항상 @로 시작) string sql = " DELETE FROM CIS_WC " + " WHERE WC_CD= @WC_CD "; SqlCommand cmd = new SqlCommand(sql, conn); SqlParameter paramCity = new SqlParameter("@WC_CD", SqlDbType.VarChar, 10); paramCity.Value = dataGridView1.Rows[alist[i]].Cells[4].Value.ToString(); cmd.Parameters.Add(paramCity); SqlDataAdapter adapter = new SqlDataAdapter(cmd); adapter.Fill(ds, "data"); conn.Close(); } } MetroMessageBox.Show(this, "삭제가 완료되었습니다."); } UpdateDataGridVview(); }
'C#' 카테고리의 다른 글
C# LINQ XML 추출 (0) 2020.09.18 c# 윈폼 패킷 아날라이저 (0) 2020.09.18 내가 쓰려고 만든 C# 윈폼 템플릿 (저장 (Insert, Update) ) (0) 2020.09.15 내가 쓰려고 만든 C# 윈폼 템플릿 (데이터그리드뷰 셀 병합) (0) 2020.09.15 내가 쓰려고 만든 C# 윈폼 템플릿(기본키 확인 메서드) (0) 2020.09.15