Demo.Func = BI.inherit(BI.Widget, { props: { baseCls: "demo-func" }, render: function () { var items = []; var rowCount = 10000, columnCount = 100; for (var i = 0; i < rowCount; i++) { items[i] = []; for (var j = 0; j < columnCount; j++) { items[i][j] = { type: "bi.label", text: i + "-" + j }; } } var grid = BI.createWidget({ type: "bi.grid_view", width: 400, height: 300, estimatedRowSize: 30, estimatedColumnSize: 100, items: items, scrollTop: 100, rowHeightGetter: function () { return 30; }, columnWidthGetter: function () { return 100; } }); BI.createWidget({ type: "bi.absolute", element: this, items: [{ el: { type: "bi.grid", columns: 1, rows: 1, items: [{ column: 0, row: 0, el: grid }] }, left: 10, right: 10, top: 10, bottom: 10 }] }); } }); BI.shortcut("demo.grid_view", Demo.Func);