Initialize the Grid in the Window
Environment
Product | Progress® Kendo UI® Window for jQuery |
Operating System | Windows 10 64bit |
Visual Studio Version | Visual Studio 2017 |
Preferred Language | JavaScript |
Description
How can I initialize the Kendo UI for jQuery Grid in a Kendo UI for jQuery Window?
Solution
The example below demonstrates how to use the activate
event when initializing the Grid within the Window so as it is resized according to the dimensions of its container.
In addition to the Kendo UI Window, this example can be applied to the TabStrip and PanelBar widgets, which, too, act as hidden containers for the Grid.
<button id="openBtn">Open</button>
<div id="wnd">
<div id="grid"></div>
</div>
<script src="https://demos.telerik.com/kendo-ui/content/shared/js/products.js"></script>
<script>
var wnd = $("#wnd").kendoWindow({
height: 400,
width: 600,
visible: false
}).data("kendoWindow");
var grid = $("#grid").kendoGrid({
dataSource: {
data: products,
pageSize: 5
},
height: 200,
scrollable: true,
columns: [
"ProductName",
{ field: "UnitPrice", title: "Unit Price", format: "{0:c}", width: "130px" },
{ field: "UnitsInStock", title: "Units In Stock", width: "130px" },
{ field: "Discontinued", width: "130px" }
]
}).data("kendoGrid");
//apply the activate event, which is thrown only after the animation is played out
wnd.one("activate", function() { // can use also 'bind' method as Kendo widgets support the "one" and "bind"
grid.resize();
});
$("#openBtn").click(function(e) {
wnd.open();
});
</script>