Scrolling in Spreadsheet control
7 Jan 20238 minutes to read
Scrolling helps you to move quickly to different areas of the worksheet. It moves faster if we use horizontal and vertical scroll bars. Scrolling can be enabled by setting the allowScrolling
as true.
NOTE
By default, the
allowScrolling
property is true.
You have the following options in Scrolling by using scrollSettings
.
- Finite scrolling.
- Virtual scrolling.
Finite Scrolling
Finite scrolling supports two type of modes in scrolling. You can use the isFinite
property in scrollSettings
to specify the mode of scrolling.
-
Finite - This mode does not create a new row/column when the scrollbar reaches the end. This can be achieved by setting the
isFinite
property astrue
. -
Infinite - This mode creates a new row/column when the scrollbar reaches the end. This can be achieved by setting the
isFinite
property asfalse
.
NOTE
By Default, the
isFinite
property isfalse
.
Virtual Scrolling
- Virtual scrolling allows you to load data that you require (load data based on viewport size) without buffering the entire huge database. You can set the
enableVirtualization
property inscrollSettings
astrue
.
In virtual scrolling enableVirtualization
is set to true means, it allows you to load the spreadsheet data while scrolling.
NOTE
By Default, the
enableVirtualization
property istrue
.
User Interface:
You can scroll through the worksheet using one of the following ways,
- Using the
arrow
keys. - Using the Horizontal and Vertical
scroll
bars. - Using the
mouse
wheel.
Finite scrolling with defined rows and columns
If you want to perform scrolling with defined rows and columns, you must define rowCount
and colCount
in the sheets
property and set isFinite
as true and enableVirtualization
as false in scrollSettings
.
The following code example shows the finite scrolling with defined rows and columns in the spreadsheet. Here, we used rowCount as 20 and colCount as 20, after reaching the 20th row or 20th column you can’t able to scroll.
<ejs-spreadsheet id="spreadsheet" created="createHandler">
<e-spreadsheet-scrollsettings isFinite="true"></e-spreadsheet-scrollsettings>
<e-spreadsheet-sheets>
<e-spreadsheet-sheet rowCount="9" colCount="7">
<e-spreadsheet-ranges>
<e-spreadsheet-range dataSource="ViewBag.DefaultData"></e-spreadsheet-range>
</e-spreadsheet-ranges>
<e-spreadsheet-columns>
<e-spreadsheet-column width="130"></e-spreadsheet-column>
<e-spreadsheet-column width="92"></e-spreadsheet-column>
<e-spreadsheet-column width="96"></e-spreadsheet-column>
<e-spreadsheet-column width="130"></e-spreadsheet-column>
<e-spreadsheet-column width="92"></e-spreadsheet-column>
<e-spreadsheet-column width="96"></e-spreadsheet-column>
<e-spreadsheet-column width="96"></e-spreadsheet-column>
</e-spreadsheet-columns>
</e-spreadsheet-sheet>
</e-spreadsheet-sheets>
</ejs-spreadsheet>
<script>
function createHandler() {
//Applies format to specified range
this.cellFormat({ fontWeight: 'bold' }, 'A1:F1');
}
</script>
public IActionResult Index()
{
List<object> data = new List<object>()
{
new { CustomerName= "Romona Heaslip", Model= "Taurus", Color= "Aquamarine", PaymentMode= "Debit Card", DeliveryDate= "07/11/2015", Amount= "8529.22" },
new { CustomerName= "Clare Batterton", Model= "Sparrow", Color= "Pink", PaymentMode= "Cash On Delivery", DeliveryDate= "7/13/2016", Amount= "17866.19" },
new { CustomerName= "Eamon Traise", Model= "Grand Cherokee", Color= "Blue", PaymentMode= "Net Banking", DeliveryDate= "09/04/2015", Amount= "13853.09" },
new { CustomerName= "Julius Gorner", Model= "GTO", Color= "Aquamarine", PaymentMode= "Credit Card", DeliveryDate= "12/15/2017", Amount= "2338.74" },
new { CustomerName= "Jenna Schoolfield", Model= "LX", Color= "Yellow", PaymentMode= "Credit Card", DeliveryDate= "10/08/2014", Amount= "9578.45" },
new { CustomerName= "Marylynne Harring", Model= "Catera", Color= "Green", PaymentMode= "Cash On Delivery", DeliveryDate= "7/01/2017", Amount= "19141.62" },
new { CustomerName= "Vilhelmina Leipelt", Model= "7 Series", Color= "Goldenrod", PaymentMode= "Credit Card", DeliveryDate= "12/20/2015", Amount= "6543.30" },
new { CustomerName= "Barby Heisler", Model= "Corvette", Color= "Red", PaymentMode= "Credit Card", DeliveryDate= "11/24/2014", Amount= "13035.06" },
new { CustomerName= "Karyn Boik", Model= "Regal", Color= "Indigo", PaymentMode= "Debit Card", DeliveryDate= "05/12/2014", Amount= "18488.80" },
new { CustomerName= "Jeanette Pamplin", Model= "S4", Color= "Fuscia", PaymentMode= "Net Banking", DeliveryDate= "12/30/2014", Amount= "12317.04" },
new { CustomerName= "Cristi Espinos", Model= "TL", Color= "Aquamarine", PaymentMode= "Credit Card", DeliveryDate= "12/18/2013", Amount= "6230.13" },
new { CustomerName= "Issy Humm", Model= "Club Wagon", Color= "Pink", PaymentMode= "Cash On Delivery", DeliveryDate= "02/02/2015", Amount= "9709.49" },
new { CustomerName= "Tuesday Fautly", Model= "V8 Vantage", Color= "Crimson", PaymentMode= "Debit Card", DeliveryDate= "11/19/2014", Amount= "9766.10" },
new { CustomerName= "Rosemaria Thomann", Model= "Caravan", Color= "Violet", PaymentMode= "Net Banking", DeliveryDate= "02/08/2014", Amount= "7685.49" },
};
ViewBag.DefaultData = data;
return View();
}