2017-01-05 1 views
0

데이터베이스의 데이터를 표시하는 DataGridview가 있습니다. 텍스트 상자를 검색 상자로 추가하고 텍스트 변경 이벤트를 추가했습니다. 그 경우 필자는 텍스트 상자의 텍스트를 기반으로 'LIKE'라는 검색어로 작성했습니다. 그래서 문자를 입력하면 즉시 데이터베이스를 검색하고 DataGridview에 표시합니다.검색시 Datagridview 데이터로드

그러나 내 문제는 많은 양의 데이터 (예 : 백만 행)에 대해이 텍스트 변경 이벤트가 DataGridview를 중단시킵니다. 데이터를 신속하게 DataGridview에 표시 할 수 없습니다. 프로세스 속도를 높이는 방법은 없습니까?

+1

** 1) ** TextChanged는 보통 사용자가 '무언가'를 검색 할 수 있기 때문에 데이터베이스 검색에 적합하지 않으므로 9자를 입력하면 수천 개의 레코드 사이에서 9 번 검색합니다 , Enter를 누르면 한 번만 검색 할 수 있습니다. ** 2) ** 검색 결과가 너무 많은 레코드 일 수있는 경우 페이징 전략을 적용하는 것이 좋습니다 (예 : 상위 50 개 레코드를 표시). –

답변

0

상자 내용이 변경되지 않은 경우에만 BackgroundWorker를 사용하여 데이터를 검색하고 결과를 처리합니다. 쓸데없는 검색을 피하기 위해 검색에 지연을 추가 할 것입니다. 실제로, 이런 종류의 검색이 필요할 때 Enter 키나/그리고 버튼을 처리하여 우리가 원하는 때에 검색 할 것을 선호합니다.