내 datagridview에는 2 개의 열이 있습니다. 열 0에 체크 표시가 꺼짐 위치에 있습니다 (기본값). 사용자는 상자를 클릭하여 상태를 변경하거나 확인을 클릭 할 수 있습니다.DataGridview의 셀을 확인하는 방법은 무엇입니까?
루프를 통해 확인 된 항목을 어떻게 찾을 수 있습니까?
List<DataGridViewRow> list = DataGridView1.Rows.Cast<DataGridViewRow>().Where(k => Convert.ToBoolean(k.Cells[CheckBoxColumn1.Name].Value) == true).ToList();
당신에게 확인 확인란이있는 모든 행의 목록을 제공합니다 : 여기
try
{
// This line will cause InvalidCastException
// Specified cast is not valid.
if ((bool)(row.Cells[0]).Value || (CheckState)row.Cells[0].Value == CheckState.Checked)
{
// Do something
MessageBox.Show("Checked");
}
}
catch (NullReferenceException nre)
{
MessageBox.Show("No Rows Have Been Checked");
}
나는 이것을 테스트했다. 나는 1 -> 10의 숫자를 가진 세포를 가지고있다. 나는 1,2,3을 확인한 다음 새 목록을 작성하여 목록에 추가했다. 내 새 목록에는 1,2 개만 포함되었습니다. 3 was missing –
내 질문에 만든 편집 InvalidCastException이 발생합니다. –
상태 값을 단어로 변경하면 루프를 입력하지 않습니다. –