GRID DOC. Example 2.1: FixedHeaderGrid with StaticStrategy

by obobruyko

HTML

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/smoothness/jquery-ui.css">
<link rel="stylesheet" type="text/css" href="http://build-master.jaspersoft.com:7680/jrs-pro-feature-amber-adv/themes/reset.css"> 
    
<link rel="stylesheet" type="text/css" href="http://build-master.jaspersoft.com:7680/jrs-pro-feature-amber-adv/themes/default/containers.css"> 
    
<link rel="stylesheet" type="text/css" href="http://build-master.jaspersoft.com:7680/jrs-pro-feature-amber-adv/themes/default/theme.css">

<link rel="stylesheet" href="http://build-master.jaspersoft.com:7680/jrs-pro-feature-amber-adv/scripts/components/table/css/table.css">
    
<link type="text/css" rel="stylesheet" href="http://build-master.jaspersoft.com:7680/jrs-pro-feature-amber-adv/scripts/components/table/css/perfect-scrollbar.css">  
    
<script src="http://build-master.jaspersoft.com:7680/jrs-pro-feature-amber-adv/scripts/lib/require-2.1.10.js"></script>
         
<script src="http://build-master.jaspersoft.com:7680/jrs-pro-feature-amber-adv/scripts/require.config.js"></script>

<script>
var __jrsConfigs__ = {
    contextPath : "http://build-master.jaspersoft.com:7680/jrs-pro-feature-amber-adv",
    userLocale: "en",
    isXdm: true
};
    
require.config({
    baseUrl: __jrsConfigs__.contextPath + "/scripts",
});
</script>

<div id="container" style="margin-top:20px;height:500px;width:100%"></div>

JavaScript

require([
        "jquery",
        "components/table/base/BaseGrid",
        "components/table/FixedHeaderGrid",
        "components/table/base/DynamicStrategy",
        "components/table/base/StaticGridDataProvider",         
    ], function($, BaseGrid, FixedHeaderGrid, DynamicGridStrategy, StaticGridDataProvider) {        
        
        //Create data provider
        var dataProvider = new StaticGridDataProvider(gridData).getData,
            headerDataProvider = new StaticGridDataProvider(headerGridData).getData;

        //create and init table component
        var baseGrid =  new FixedHeaderGrid({
            el: "#container",
            header: {
                getData: headerDataProvider,
                rowsHeight: 50
            },
            data: {
                getData: dataProvider,
                colsCount: 5,
                rowsCount: 5,                
            }                                                
        });
               
        //Initiate table rendering
        baseGrid.render();
        console.log(baseGrid);
        var resizer = function(){baseGrid.resizeGrid();};
           
        jQuery("#container").resizable({                            
              resize: resizer
            //stop: resizer
        });        
    });
    
//DATA        
        
    var headerGridData = [[{label: "Header."},{label: "1"},{label: "2"},{label: "3"},{label: "4"}, {label: "5"},{label: "6"},{label: "7"},{label: "8"},{label: "9"},{label: "10"},{label: "11"},{label: "12"},{label: "13"},{label: "14"}]];
        
        //Grid data
    var gridData = [            
            [{label: "21", rowspan: 10},{label: "22"},{label: "23"},{label: "24"},{label: "25"},{label: "df"},{label: "22"},{label: "23"},{label: "24"},{label: "25"},{label: "21"},{label: "22"},{label: "23"},{label: "24"},{label: "25"}],
            [null,{label: "32"},{label: "33"},{label: "34"},{label: "35"},{label: "21"},{label: "asdf"},{label: "23"},{label:...