저는 모든 사람이 Visual Studio를 사용하여 데이터 바인딩 된 컨트롤에 데이터를 채우는 전통적인 방법에 익숙하다고 생각합니다.강력하게 형식화 된 데이터 집합을 비동기 적으로 채우기
this.applications_infoTableAdapter.Fill(this.bITSS_UIT_dBDataSet_tmpApplication.Applications_info, textBox1.Text);
모든 것이 완벽하게 작동 데이타베이스로부터 꺼낼 수있는 데이터의 부하가있는 경우를 제외하고 다음 VS는 강력하게 데이터 집합을 입력하고 코드가 아래처럼 폼로드 이벤트에 대한 데이터 어댑터의 채우기 함수를 호출 생성 .
데이터베이스에 500,000 개 이상의 튜플이 있고 서버 측에서 검색해야 할 경우 SQL Server조차도 데이터를 반환하는 데 약간의 시간이 걸립니다. 이 기간 동안 Windows 양식의 UI가 응답하지 않게됩니다.
많은 양의 데이터의 경우 UI는 상당한 시간 동안 응답하지 않아 받아 들일 수 없습니다.
내 질문은, 데이터를 채우는 비동기 방식으로 UI가 응답을 유지하고 우리가 원하는 애니메이션이나 다른 것을 사용자에게 보여줄 수 있다는 것입니다.
나는 분명히했으면한다.
그게 뭐죠? C# 4 또는 5에는이 기능이 없습니다. –
당신은 언어가 할 수있는 것을 오해했습니다. 언어는 코딩 관례이며 말할 행동 코드가 없습니다. 다른 사람이 작성한 코드의 동작을 변경하는 데는 사용할 수 없습니다. 테이블 어댑터를 생성하고 System.Threading, WinForms BackgroundWorker 또는 PPL을 통해 백그라운드 스레드로 데이터베이스를 쿼리하는 코드를 이동할 수 있습니다. 그러나 이것은 C#이 제공하는 것과는 아무런 관련이 없습니다. –
자세한 답변을 보내 주셔서 감사합니다. 나는 우리가 코딩하지 않으면 언어가 스스로를 말할 수 없다는 것을 이해한다. 내가 뭘 물어 보니, 거기에 UI에서 스레드가 반응을 유지하면서 DB에서 데이터를 가져올 수있는 방법입니다. MultiThreading 또는 BackgroundWorker를 사용하여 동일한 작업을 수행 할 수 있다는 것을 알고 있지만 UI 응답 성을 유지하면서 강력한 형식의 DS를 채울 수있는 해결 방법이 있는지 알고 싶습니까? –