2013-10-28 1 views
0

내 Windows 양식에 DataGridView가 있으며 SQL Server 데이터베이스의 실시간 데이터를 표시하려고합니다. 저는 DB에서 매 1 초마다 데이터를 가져 와서 DataGrid에 바인딩하기 위해 Windows.forms.Timer를 사용하고 있지만 다른 UI 작업을 수행하는 데 약간의 시간이 소요됩니다. Timer.Elapsed는 정확히 1 초 간격으로 실행되지 않고 대기열에 있습니다. 2-3 이벤트는 한 번에 발생합니다. 행복은 나에게 이러한 시나리오를Windows 양식에서 SQL Server 데이터베이스에서 가져온 실시간 데이터를 표시하는 방법은 무엇입니까?

감사합니다, Harshal

답변

0

당신은 내가 대신 어디를 이벤트 구동 모델을 생각해 볼 것이다 DB에있는 데이터를 변경하는 과정을 제어 경우를 구현하는 가장 좋은 방법을 알려주세요 데이터가 변경 될 때 UI가 구독 할 수있는 이벤트를 발행합니다. 그렇게하면 불필요한 폴링을 피할 수 있습니다.

+0

아니요. DB를 chng하는 프로세스를 제어 할 수 없지만 동시에 여러 개의 양식이 동시에 표시 될 때 실제 문제가 발생합니다. Visual Studio IDE로 내 응용 프로그램을 고려해보십시오. 여러 파일을 탭으로 여는 경우 ... 같은 방식으로 서로 옆에 여러 개의 탭이 표시됩니다. 여기에 나는 GrdView에서 데이터를 업데이트하는 하나의 형식으로 타이머를 가지고 있으며, 컨트롤이 다른 폼으로 이동하면 첫 번째 폼에서 타이머가 경과하지 않습니다 .. –

+0

나는 그것을 부숴 버렸습니다. 귀중한 의견을 보내 주신 Vikram에게 감사드립니다. –