DataGridView에 최대 100,000 개의 행이있는 테이블을 표시하고 있습니다. 테이블에는 큰 문자열을 포함하는 하나의 열이 있습니다. AutosizeMode를 'AllCells'로 설정하면 응용 프로그램이 오랫동안 멈추고 필요한 너비가 계산됩니다. 타협으로서 Autosize 모드를 DisplayedCells로 설정했습니다. 나는 다음 데이터 그리드의 스크롤 이벤트에 방법을 결합 :C# DataGridView AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
public void MethodThatBindsDataToTheDatagridview(DataTable table)
{
dataGrid.Source = table;
dataGrid.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
dataGrid.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
}
pubic void DataGridScroll(object sender, ScrollEventArgs e)
{
((DataGridView)sender).Update();
}
는 또한 새로 고침 방법과 동일했습니다. 내 기대는 DataGrid 표시되는 행에 따라 열 너비를 설정합니다. 그러나 테이블이로드 될 때이 한 번만 발생하지만 scroll 이벤트는 열 너비의 변경을 트리거하지 않습니다.
dataGrid.AutoResizeColumn(1, DataGridViewAutoSizeColumnMode.DisplayedCells);
dataGrid.AutoResizeColumn(2, DataGridViewAutoSizeColumnMode.DisplayedCells);
문제가 해결되었습니다. 감사. – Yoav