Используйте BeginUpdate()
до и EndUpdate()
после установки границ.
Как это:
private void Linestyle(DevExpress.Spreadsheet.Range rg1)
{
rg1.BeginUpdate();
rg1.Borders.InsideHorizontalBorders.LineStyle = DevExpress.Spreadsheet.BorderLineStyle.Dotted;
rg1.Borders.InsideVerticalBorders.LineStyle = DevExpress.Spreadsheet.BorderLineStyle.Dotted;
rg1.Borders.TopBorder.LineStyle = DevExpress.Spreadsheet.BorderLineStyle.Thick;
rg1.Borders.LeftBorder.LineStyle = DevExpress.Spreadsheet.BorderLineStyle.Thick;
rg1.Borders.RightBorder.LineStyle = DevExpress.Spreadsheet.BorderLineStyle.Thick;
rg1.Borders.BottomBorder.LineStyle = DevExpress.Spreadsheet.BorderLineStyle.Thick;
rg1.Borders.InsideVerticalBorders.Color = Color.DarkOrange;
rg1.Borders.InsideHorizontalBorders.Color = Color.DarkOrange;
rg1.Borders.TopBorder.Color = Color.DarkOrange;
rg1.Borders.LeftBorder.Color = Color.DarkOrange;
rg1.Borders.RightBorder.Color = Color.DarkOrange;
rg1.Borders.BottomBorder.Color = Color.DarkOrange;
rg1.EndUpdate();
}
Производительность в диапазоне 10x10:
Without Begin/EndUpdate: ~5430ms
With Begin/EndUpdate: ~17ms