저는 .NET 3.5 기반 C# 데스크탑 소프트웨어에서 작업하고 있습니다.UltraWinGrid가 OutOfMemoryException을 발생시킵니다.
저는 16000 개의 행과 401 개의 열을 가진 대형 UltraWinGrid 객체를 가졌습니다. 아래 코드를 사용하여 모든 셀을 반복합니다.
UltraGridRow currentrow = _grid.GetRow(ChildRow.First);
for (int r = 0; r < _grid.Rows.Count; r++)
{
for (int c = 0; c < currentrow.Cells.Count; c++)
{
// Do stuff
위의 코드는 Infragistics 3.x에서 작동하는 데 사용됩니다. Infragistics DLL을 12.1로 업그레이드 한 후 OutOfMemoryException 예외를 throw하기 시작합니다. 나는 this guideline을 거쳤으나 값이 아닌 다른 많은 셀의 속성에 액세스해야하므로 내 경우에는 적용되지 않습니다.
UltraWinGrid에서 OutOfMemoryException을 발생시키지 않고 모든 셀을 안전하게 반복하는 방법은 무엇입니까? 어떤 도움을 주셔서 감사합니다.
그 6416000 작업, 많이 지옥. UI에서 프로세스를 백그라운드 스레드 또는 데이터베이스로 이동하는 방법을 살펴볼 수 있습니다. – apc
내가 할 수 있으면 좋겠다. 이 소프트웨어는 10 년 전에 작성되었으며 우리는 릴리스간에 큰 변화를 만들 수 없습니다. – Donotalo
익숙한 것 같습니다. 원래 많은 양의 데이터를 처리하는 것이 바람직하지 않다고 생각합니다. 일부 작업을 지연하여 표시 행만 처리 한 다음 사용자가 프로세스를 더 스크롤 할 때 사용할 수 있습니까? // 무슨 일이 일어나고 있습니까? – apc