DataGridview를 사용하여 앱에서 큰 지연이 발생했습니다. 매초마다 상태 메시지로 업데이트해야하는데, 약 3000 개의 행이 DataGridview에 있습니다.매초마다 DataGridView 업데이트
나는 현재 갱신에 사용하는 코드는 다음과 같습니다
private void UpdateProxies()
{
Invoke(new MethodInvoker(
delegate
{
this.dgvProxies.DoubleBuffered(true);
this.dgvProxies.SuspendLayout();
this.dgvProxies.DataSource = null;
this.dgvProxies.DataSource = this.Proxies;
this.dgvProxies.ResumeLayout();
this.dgvProxies.Refresh();
}
));
}
나는 이중 버퍼링을 자동 크기 속성을 제거하고 수 있도록 노력했다 .. 여전히 매우는 랙이
어떤 아이디어를 내가 그것을 속도를 높일 수있는 방법 쪽으로?
데이터 소스의 개체를 업데이트 할 수 있습니까? 아니면 언제든지 데이터 원본을 삭제하고 다시 만들어야합니까? 업데이트 할 수 있다면 INotifyPropertyChanged를 사용할 수 있고 그리드는 모든 것을 재 바인딩하지 않고 필요한 셀을 업데이트합니다. 컬렉션 자체에서도 ObservableCollection을 사용할 수 있으며 필요에 따라 DataGrid가 변경 내용을 처리해야합니다. – Belmiris
사용자가 볼 수있는 행만 업데이트하십시오. – LarsTech