WinForms 응용 프로그램에서 작업하고 응용 프로그램에서 DataGridView 컨트롤을 사용했습니다. 처음에는 10000 개의 행과 50 개의 열을로드했습니다. 내 시나리오는 특정 시간 간격으로 데이터 소스를 업데이트하는 것입니다 (타이머 사용).런타임에 데이터 소스를 업데이트하는 동안 컨트롤이 정지되는 것을 피하려면 어떻게해야합니까?
문제점 : 데이터 소스를 업데이트하는 동안 작업 (cell_click, 스크롤링 등)을 수행 할 때 그리드가 고정/갱입니다.
이 문제를 해결하는 방법? 해결 방법이 있습니까? 제발 당신의 아이디어를 제안 해주세요. 여기
private void timer1_Tick(object sender, EventArgs e)
{
//try
{
timer.Stop();
for (int i = 0; i < 10000; i++)
{
var row = r.Next() % 10000;
for (int col = 1; col < 10; col++)
{
var colNum = r.Next() % 55;
if (table != null)
table.Rows[row][colNum] = "hi";// r.Next().ToString();
}
}
table.AcceptChanges();
timer.Start();
}
}
샘플 출력입니다 :
[https://drive.google.com/open?id=0B9MOGv1FOt-TQ1BNZWtnRktxeXc]
감사
여기에 지금까지 내 코드입니다.
얼마나 자주이 데이터 업데이트는? 마무리하는데 보통 얼마나 걸리나요? –
'DataSet'과'DataGridView'는 실시간으로 업데이트되는 수만 개의 행을 위해 설계되지 않은 것 같습니다. 대신 가상화 렌더링을 사용하는 데이터 그리드가 필요하며 이상적으로는 UI와 밀접하게 연결되지 않은 데이터 소스가 필요합니다. – Luaan
BindingSource를 DataGridView의 DataSource로 사용하고 있습니까? – TnTinMn