I have a tab control, and a number of the related views contain grids.
If a grid is created in a tab view that is not visible, then the grid pager renders as if it was on a tiny mobile screen. The only way you can make it render the pager correcly is to manually resize the browser window after the grid has become visible.
I have a simple demonstration here: https://dojo.telerik.com/eCuQAqEm
The behavior is the same in both Chrome and Firefox.
<!DOCTYPE html>
<html>
<head>
<base href="https://demos.telerik.com/kendo-ui/tabstrip/index">
<style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>
<title></title>
<link href="https://kendo.cdn.telerik.com/themes/6.7.0/default/default-main.css" rel="stylesheet" />
<script src="https://kendo.cdn.telerik.com/2023.2.829/js/jquery.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2023.2.829/js/kendo.all.min.js"></script>
</head>
<body>
<div id="example">
<div class="demo-section">
<div id="tabstrip">
<ul>
<li class="k-active">
Visible Grid
</li>
<li>
Hidden Grid
</li>
</ul>
<div>
<div id="visibleGrid"></div>
</div>
<div>
<div id="hiddenGrid"></div>
</div>
</div>
</div>
<script>
const data = [];
for (let i = 0; i < 100; ++i) {
data.push({
columnOne : `Item ${i} Column One`,
columnTwo : `Item ${i} Column Two`
});
}
const gridOptions = {
dataSource: data,
pageable: {
refresh: true,
pageSize: 10,
pageSizes: [10, 20, 30]
},
};
$(document).ready(function() {
$("#tabstrip").kendoTabStrip();
$("#visibleGrid").kendoGrid(gridOptions);
$("#hiddenGrid").kendoGrid(gridOptions);
});
</script>
</div>
</body>
</html>