내가 작성한 LINQ-to-SQL 쿼리가 고통스럽게 느린 것으로 의심되어 어제 게시했습니다. 내가 뭘하는지는 내 쿼리의 결과를 반복하고 데이터 테이블을 구성하는 것입니다. 그런 다음 DataTable을 내 양식의 DataGridView에 바인딩합니다.DataGridView 다시 그리기시 느림
나는 쿼리가 느린 부분이라고 생각했지만,이 쿼리와 데이터 테이블 구성을 반증했다. DataGridView에서 DataSource 속성을 설정할 때 앱이 두 번째 또는 두 번 걸린다. 약 10 초 동안 매달려 그리드를 보여줍니다.
리플렉션을 사용하여 DGV에서 DoubleBuffered 속성을 설정하려고했지만 슬프게도 별다른 차이가 없었습니다. 다른 사람이 이런 문제를 경험 한 적이 있습니까?
EDIT : 그리드에 작은 행 (즉, 30-40)이있는 경우 해당 행을 처리합니다. 행 수가 수백 개에 도달하면 즉시 중단됩니다.
유용 뭔가가있을 수 있습니다 : 예 그래서이 경우
(이 각 고객에 대한 모든 주문을로드합니다), 당신은이 Linq2sql
vMore 정보에 의해 생성되는 조인 볼 수 있습니다 이 MSDN 항목 (Windows Forms DataGridView 컨트롤의 성능 조정) : http://msdn.microsoft.com/en-us/library/ms171621.aspx –
한 번 DataGridView에서 매우 느린 DataGridView를 사용했습니다. 배경은 데이터 바인딩 중에 지연로드 된 참조가 트리거 되었기 때문에 발생합니다. 그런 일이 일어나지 않는다고 확신하는 경우 동일한 크기의 datatable을 생성하고 여전히 문제가 있는지 확인하는 것이 좋습니다. 문제가 지속되면 가상 모드를 구현해야합니다. –
@David Hall : 게으른 로딩이 가능하며 datacontext에서 dataloadoptions로 해결할 수 있습니다. 내 대답보기 – Pleun