[C#] C # DataGridView 비어 있는지 확인하십시오.


Answers

AllowUserToAddRows 옵션을 true로 설정하면 DGV가 비어 있는지 확인하는 DGV.Rows.Count 메소드가 작동하지 않습니다.

AllowUserToAddRows = false 를 비활성화 AllowUserToAddRows = false 다음과 같이 비어 있는지 확인해야합니다.

if (dataGridView1.Rows.Count != 0 && dataGridView1.Rows != null)
Question

linq 쿼리에서 반환 된 데이터로 채워지는 datagridview가 있습니다. 쿼리가 결과를 반환하지 않으면 messagebox를 표시하려고합니다. DataGridview가 비어 있는지 확인하는 방법이 있습니까?

문안 인사




여기서 많은 답변이 Rows.Count 대한 참조를 Rows.Count . 일반적으로 문제는 발생하지 않으며, 대부분의 경우 내가 제안하려고하는 것을 과도하게 수행합니다.

그러나이 문서 에서 언급 한 이유 때문에 DataGridView 자주 데이터가 많이있는 경우 (내가 그 기사를 잠시 동안 유효하게했는지 확인하기 위해 수행 한 메모리 프로파일에서 >~ 5000 셀 이상) Rows.Count 를 호출하는 것은 좋지 않을 수 있습니다.

System.Windows.Forms.DataGridViewSelectedCellCollectionCount 속성을 사용하여 선택한 셀 수를 결정하지 마십시오. 대신 DataGridView.GetCellCount 메서드를 사용하고 DataGridViewElementStates.Selected 값을 전달하십시오. 마찬가지로 선택한 행 및 열 컬렉션에 액세스하는 대신 DataGridViewRowCollection.GetRowCountDataGridViewColumnCollection.GetColumnCount 메서드를 사용하여 선택한 요소의 수를 확인합니다.

그런 경우에는 다음을 사용할 수 있습니다.

myDataGridView1.Rows.GetRowCount(.) == 0

빠르게 변화하는 데이터 나 엄청난 양의 데이터 (또는 더 나쁜 경우, 엄청난 양의 빠른 데이터 변경)를 처리하지 않는다면 Rows.Count를 사용하면됩니다.




이 작업을 수행해야합니다.

dataGridView1.RowCount == 0