1. #1
    Ext User
    Join Date
    Jun 2008
    Posts
    8
    Vote Rating
    0
    Anitha is on a distinguished road

      0  

    Default Row Locking in GridPanel

    Row Locking in GridPanel


    Hi,

    I have created a GridPanel with data populated.I want last row in the GridPanel to be locked from scrolling.Please anyone help me out doing this.

    Thanks.

  2. #2
    Sencha - Ext JS Dev Team evant's Avatar
    Join Date
    Apr 2007
    Location
    Sydney, Australia
    Posts
    17,170
    Vote Rating
    674
    evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute

      0  

    Default


    This isn't supported, you'd have to modify the grid to make this happen.

  3. #3
    Ext User
    Join Date
    Jun 2008
    Posts
    8
    Vote Rating
    0
    Anitha is on a distinguished road

      0  

    Default


    Thanks for your quick reply. Please let me know how do i achieve this functionality.Here is the code,

    <
    html>
    <
    head>
    <
    title>Meta</title>
    <
    link rel="stylesheet" type="text/css" href="lib/ext-2.1/resources/css/ext-all.css">
    <
    link rel="stylesheet" type="text/css" href="lib/ext-2.1/resources/css/xtheme-gray.css">




    <
    link rel="stylesheet" type="text/css" href="lib/meta/css/desktop.css">
    <
    link rel="stylesheet" type="text/css" href="lib/meta/css/main.css">


    <
    link rel="stylesheet" type="text/css" href="lib/meta/css/skin-01.css">

    <!--
    <link rel="stylesheet" type="text/css" href="themes/css/xtheme-darkgray.css"/>
    -->


    <
    script type="text/javascript" src="lib/ext-2.1/adapter/ext/ext-base.js"></script>
    <
    script type="text/javascript" src="lib/ext-2.1/ext-all.js"></script>
    <
    script type="text/javascript" src="lib/meta/js/ExtjsPlugins.js"></script>
    <
    script type="text/javascript">

    Ext.onReady(
    function(){


    Ext.state.Manager.setProvider(new Ext.state.CookieProvider());

    var myData = [
    [
    '3m Co',71.72,0.02,0.03,'9/1 12:00am'],
    [
    'Alcoa Inc',29.01,0.42,1.47,'9/1 12:00am'],
    [
    'Altria Group Inc',83.81,0.28,0.34,'9/1 12:00am'],
    [
    'American Express Company',52.55,0.01,0.02,'9/1 12:00am'],
    [
    'American International Group, Inc.',64.13,0.31,0.49,'9/1 12:00am'],
    [
    'AT&T Inc.',31.61,-0.48,-1.54,'9/1 12:00am'],
    [
    'Boeing Co.',75.43,0.53,0.71,'9/1 12:00am'],
    [
    'Caterpillar Inc.',67.27,0.92,1.39,'9/1 12:00am'],
    [
    'Citigroup, Inc.',49.37,0.02,0.04,'9/1 12:00am'],
    [
    'E.I. du Pont de Nemours and Company',40.48,0.51,1.28,'9/1 12:00am'],
    [
    'Exxon Mobil Corp',68.1,-0.43,-0.64,'9/1 12:00am'],
    [
    'General Electric Company',34.14,-0.08,-0.23,'9/1 12:00am'],
    [
    'General Motors Corporation',30.27,1.09,3.74,'9/1 12:00am'],
    [
    'Hewlett-Packard Co.',36.53,-0.03,-0.08,'9/1 12:00am'],
    [
    'Honeywell Intl Inc',38.77,0.05,0.13,'9/1 12:00am'],
    [
    'Intel Corporation',19.88,0.31,1.58,'9/1 12:00am'],
    [
    'International Business Machines',81.41,0.44,0.54,'9/1 12:00am'],
    [
    'Johnson & Johnson',64.72,0.06,0.09,'9/1 12:00am'],
    [
    'JP Morgan & Chase & Co',45.73,0.07,0.15,'9/1 12:00am'],
    [
    'McDonald\'s Corporation',36.76,0.86,2.40,'9/1 12:00am'],
    [
    'Merck & Co., Inc.',40.96,0.41,1.01,'9/1 12:00am'],
    [
    'Microsoft Corporation',25.84,0.14,0.54,'9/1 12:00am'],
    [
    'Pfizer Inc',27.96,0.4,1.45,'9/1 12:00am'],
    [
    'The Coca-Cola Company',45.07,0.26,0.58,'9/1 12:00am'],
    [
    'The Home Depot, Inc.',34.64,0.35,1.02,'9/1 12:00am'],
    [
    'The Procter & Gamble Company',61.91,0.01,0.02,'9/1 12:00am'],
    [
    'United Technologies Corporation',63.26,0.55,0.88,'9/1 12:00am'],
    [
    'Verizon Communications',35.57,0.39,1.11,'9/1 12:00am'],
    [
    'Wal-Mart Stores, Inc.',45.45,0.73,1.63,'9/1 12:00am']
    ];
    var footer = [
    [
    'Total : ',45.45,0.73,1.63,'']
    ];
    // example of custom renderer function
    function change(val){
    if
    (val > 0){
    return
    '<span style="color:green;">' + val + '</span>';
    }else if(val < 0){
    return
    '<span style="color:red;">' + val + '</span>';
    }
    return
    val;
    }


    // example of custom renderer function
    function pctChange(val){
    if
    (val > 0){
    return
    '<span style="color:green;">' + val + '%</span>';
    }else if(val < 0){
    return
    '<span style="color:red;">' + val + '%</span>';
    }
    return
    val;
    }


    // create the data store
    var store = new Ext.data.SimpleStore({
    fields: [
    {name: 'company'},
    {name: 'price', type: 'float'},
    {name: 'change', type: 'float'},
    {name: 'pctChange', type: 'float'},
    {name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}
    ]
    });
    store.loadData(myData);
    store.loadData(footer,
    true);

    // create the Grid
    var grid = new Ext.grid.GridPanel({
    store: store,
    columns: [
    {id:'company',header: "Company", width: 160, sortable: true, dataIndex: 'company'},
    {header: "Price", width: 75, sortable: true, renderer: 'usMoney', dataIndex: 'price'},
    {header: "Change", width: 75, sortable: true, renderer: change, dataIndex: 'change'},
    {header: "% Change", width: 75, sortable: true, renderer: pctChange, dataIndex: 'pctChange'},
    {header: "Last Updated", width: 85, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
    ],
    stripeRows:
    true,
    height:350,
    width:600,
    tbar:
    new Ext.Toolbar(),
    //bbar : new Ext.Toolbar({height : 25,items:[
    //{ text:"Total : "}
    //]}),
    //plugins: new Ext.ux.TabCloseMenu(),
    title:'Array Grid'

    });
    grid.render(
    'grid-example');

    grid.getSelectionModel().selectFirstRow();


    }
    );

    </
    script>
    </
    head>
    <
    body style="margin:20px;">

    <div id="grid-example"></div>
    </
    body>


    </
    html>

    I have created footer variable and appending this to the GridPanel store object. This footer row is coming somewhere in between of the data in the grid . Please let me know how to make this footer row to display in bottom and avoid scrolling of this row(ie, lock the footer row)


Thread Participants: 1