[]
워크시트에 변경 사항이 반영될 때마다 SpreadJS는 자동으로 새로고침을 수행합니다. 그러나 사용자가 여러 변경 사항을 한꺼번에 적용하려고 할 경우, SpreadJS가 반복적으로 렌더링되기 때문에 성능이 크게 저하될 수 있습니다. 이에 따라 suspendPaint 메서드와 resumePaint 메서드를 사용하는 것이 권장됩니다.
suspendPaint 메서드는 변경 작업이 이루어지는 동안 다시 그리는 과정을 중단할 수 있게 해줍니다. 모든 변경 사항을 적용한 후에는 resumePaint 메서드를 호출하여 다시 그리는 작업을 재개할 수 있습니다. 이 두 메서드를 사용하면 Spread는 모든 변경 사항이 완료된 후 단 한 번만 그려지므로 전반적인 성능이 향상됩니다.
다음은 suspendPaint 및 resumePaint 메서드를 사용하는 예제 코드입니다.
var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'), { sheetCount: 1 });
var sheet = spread.getSheet(0);
spread.suspendPaint();
spread.suspendEvent();
sheet.setRowCount(10000);
sheet.setColumnCount(100);
for (var i = 0; i < 10000; i++)
{
for (var j = 0; j < 100; j++)
{
sheet.setValue(i, j, new Date(), GC.Spread.Sheets.SheetArea.viewport);
sheet.getCell(i, j).formatter("yyyy/mm/dd");
sheet.setColumnWidth(j, 80.0, GC.Spread.Sheets.SheetArea.viewport);
}
}
spread.resumeEvent();
spread.resumePaint();