Results 1 to 5 of 5

Thread: [SOLVED] invalid property id

  1. #1

    Join Date
    Jan 2008
    Location
    Levittown, PA
    Posts
    364

    Thumbs up [SOLVED] invalid property id

    See below ... it was redundant code ....

  2. #2

    Join Date
    Jan 2008
    Location
    Levittown, PA
    Posts
    364

    Default

    I've changed a bunch and now have a new error msg. Anything jump out at ya?

    Firebug msg is:

    missing : after property id
    var RecordDef = Ext.data.Record.create([


    .js file
    Code:
    /**
     * @author Andrei
     */
    
    Ext.onReady(function(){
    
        // create the Data Store
        var ds = new Ext.data.Store({
            // load using script tags for cross domain, if the data in on the same domain as
            // this page, an HttpProxy would be better
            proxy: new Ext.data.HttpProxy({
    			url: '/cgidev2p/ajax66c?start=1&limit=20',
    			method: 'POST'
            }),
    
    	var RecordDef = Ext.data.Record.create([
    		{name: 'company'},
    		{name: 'customer'},	   
    		{name: 'season'},
    		{name: 'style'},
    		{name: 'whlsale', type: 'float'},
    		{name: 'msrp', type: 'float'},
    		{name: 'cost', type: 'float'},
    		{name: 'retail', type: 'float'},	   
    		{name: 'units', type: 'float'}
    	]);
    
        // create reader that reads the Topic records
        var myReader = new Ext.data.JsonReader({
    		totalProperty: "results",
    		root: "rows",
    		id: "id"
        }, RecordDef );
    
    	ds.setDefaultSort('style', 'asc');
    
    
        // the column model has information about grid columns
        // dataIndex maps the column to the specific data field in
        // the data store
        var cm = new Ext.grid.ColumnModel([{
                {id:'id', header: "Company", sortable: true, dataIndex: 'company'},
                {header: "Customer", sortable: true, dataIndex: 'customer'},
                {header: "Season", sortable: true, dataIndex: 'season'},
                {header: "Style", sortable: true, dataIndex: 'style'},
                {header: "Wholesale", sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'whlsale'},
                {header: "MSRP", sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'msrp'},			
                {header: "Cost", sortable: true, dataIndex: 'cost', renderer: Ext.util.Format.usMoney},
                {header: "Retail", sortable: true, dataIndex: 'retail', renderer: Ext.util.Format.usMoney},			
                {header: "Units", sortable: true, dataIndex: 'units'}
            }]);
    
        // by default columns are sortable
        cm.defaultSortable = true;
    
        var grid = new Ext.grid.GridPanel({
            el:'grid-ct',
            width:900,
            height:450,
            store: ds,
            cm: cm,
            trackMouseOver:false,
            sm: new Ext.grid.RowSelectionModel({selectRow:Ext.emptyFn}),
            loadMask: true,
            viewConfig: {
                forceFit:true,
                enableRowBody:true,
                showPreview:true,
                width: 'auto',			
                getRowClass : function(record, rowIndex, p, ds){
                    if(this.showPreview){
                        p.body = '<p>'+record.data.excerpt+'</p>';
                        return 'x-grid3-row-expanded';
                    }
                    return 'x-grid3-row-collapsed';
                }
            },
            bbar: new Ext.PagingToolbar({
                plugins:new Ext.ux.Andrie.pPageSize(),
                pageSize: 20,
                store: ds,
                displayInfo: true,
                displayMsg: 'Displaying topics {0} - {1} of {2}',
                emptyMsg: "No topics to display",
                items:[
                    '-', {
                    pressed: true,
                    enableToggle:true,
                    text: 'Show Preview',
                    cls: 'x-btn-text-icon details',
                    toggleHandler: toggleDetails
                }]
            })
        });
    
        // render it
        grid.render();
    
        // trigger the data store load
        ds.load({params:{start:0, limit:20}});
    
        function toggleDetails(btn, pressed){
            var view = grid.getView();
            view.showPreview = pressed;
            view.refresh();
        }
    
    //-------
    	new Ext.Panel({
    		title:'Ext.ux.Andrie.pPageSize',
    		renderTo:'info-ct',
    		contentEl:'info',
    		bodyStyle:'padding: 5px',
    		width:450
    	});
    	
    	new Ext.Panel({
    		title:'Usage',
    		renderTo:'usage-ct',
    		contentEl:'usage',
    		frame:true,
    		width:400
    	});
    	
    	new Ext.Panel({
    		title:'ChangeLog',
    		renderTo:'changelog-ct',
    		contentEl:'changelog',
    		frame:true,
    		width:400,
    		height:150,
    		autoScroll:true
    	});
    	
    	new Ext.Panel({
    		title:'New Config Properties<br>(from Ext.ux.Andrie.Select or Ext.form.ComboBox)',
    		renderTo:'config-ct',
    		contentEl:'config',
    		frame:true,
    		width:400
    	});
    	
    	new Ext.Panel({
    		title:'New Public Properties and Methods<br>(from Ext.ux.Andrie.Select or Ext.form.ComboBox)',
    		renderTo:'public-ct',
    		contentEl:'public',
    		frame:true,
    		width:400
    	});
    });

    data returned
    {'results': 20, 'rows':[
    {'id':1, company:'EK 01','customer':'07012','season':'BSR','style':'05624','whlsale':23.00,'msrp':48.00,'cost':12.88,'retail':11.89,'units':122},
    {'id':2, company:'EK 01','customer':'07012','season':'BSR','style':'35341','whlsale':28.00,'msrp':58.00,'cost':13.91,'retail':54.92,'units':1199},
    {'id':3, company:'EK 01','customer':'07012','season':'BSR','style':'62449','whlsale':11.00,'msrp':24.00,'cost':4.19,'retail':23.27,'units':191},
    {'id':4, company:'EK 01','customer':'07012','season':'BSR','style':'90189','whlsale':11.00,'msrp':24.00,'cost':4.15,'retail':21.26,'units':126},
    {'id':5, company:'EK 01','customer':'07012','season':'BSR','style':'90190','whlsale':11.00,'msrp':24.00,'cost':4.16,'retail':20.02,'units':98},
    {'id':6, company:'EK 01','customer':'07012','season':'BSR','style':'90191','whlsale':11.00,'msrp':24.00,'cost':4.16,'retail':19.68,'units':163},
    {'id':7, company:'EK 01','customer':'07012','season':'BSR','style':'90732','whlsale':11.00,'msrp':24.00,'cost':4.32,'retail':21.48,'units':1178},
    {'id':8, company:'EK 01','customer':'07012','season':'C07','style':'EU103A','whlsale':35.20,'msrp':88.00,'cost':20.43,'retail':58.38,'units':54},
    {'id':9, company:'EK 01','customer':'07012','season':'C07','style':'EU109','whlsale':55.20,'msrp':138.00,'cost':26.35,'retail':30.90,'units':24},
    {'id':10, company:'EK 01','customer':'07012','season':'C07','style':'EU110','whlsale':67.00,'msrp':168.00,'cost':31.86,'retail':108.02,'units':26},
    {'id':11, company:'EK 01','customer':'07012','season':'C07','style':'EU111','whlsale':51.00,'msrp':128.00,'cost':21.71,'retail':25.67,'units':28},
    {'id':12, company:'EK 01','customer':'07012','season':'C07','style':'EU112','whlsale':39.00,'msrp':98.00,'cost':18.29,'retail':62.86,'units':19},
    {'id':13, company:'EK 01','customer':'07012','season':'C07','style':'EU112A','whlsale':35.20,'msrp':88.00,'cost':20.78,'retail':59.39,'units':47},
    {'id':14, company:'EK 01','customer':'07012','season':'C07','style':'EU341','whlsale':39.20,'msrp':98.00,'cost':18.75,'retail':67.37,'units':31},
    {'id':15, company:'EK 01','customer':'07012','season':'C07','style':'33258','whlsale':25.00,'msrp':52.00,'cost':12.29,'retail':48.74,'units':55},
    {'id':16, company:'EK 01','customer':'07012','season':'C07','style':'33807','whlsale':33.00,'msrp':68.00,'cost':14.94,'retail':42.77,'units':138},
    {'id':17, company:'EK 01','customer':'07012','season':'C07','style':'33808','whlsale':33.00,'msrp':68.00,'cost':13.80,'retail':43.42,'units':45},
    {'id':18, company:'EK 01','customer':'07012','season':'C07','style':'33810','whlsale':33.00,'msrp':68.00,'cost':13.80,'retail':43.32,'units':20},
    {'id':19, company:'EK 01','customer':'07012','season':'C07','style':'35341','whlsale':28.00,'msrp':58.00,'cost':13.91,'retail':55.42,'units':35},
    {'id':20, company:'EK 01','customer':'07012','season':'C07','style':'35356','whlsale':28.00,'msrp':58.00,'cost':14.18,'retail':54.67,'units':22}
    ]}


    Last edited by mjhaston; 1 Feb 2008 at 8:43 AM. Reason: changed code

  3. #3
    Sencha User Condor's Avatar
    Join Date
    Mar 2007
    Location
    The Netherlands
    Posts
    24,245

    Default

    You have several errors in your javascript. You should really be using Firefox with Firebug or a Javascript IDE (e.g. Aptana) to find these errors.

    Corrected code:

    Code:
    var RecordDef = Ext.data.Record.create([
    	{name: 'company'},
    	{name: 'customer'},
    	{name: 'season'},
    	{name: 'style'},
    	{name: 'whlsale', type: 'float'},
    	{name: 'msrp', type: 'float'},
    	{name: 'cost', type: 'float'},
    	{name: 'retail', type: 'float'},
    	{name: 'units', type: 'float'}
    ]);
    var myReader = new Ext.data.JsonReader({
    	totalProperty: "results",
    	root: "rows",
    	id: "id"
    }, RecordDef);
    var ds = new Ext.data.Store({
    	proxy: new Ext.data.HttpProxy({
    		url: '/cgidev2p/ajax66c?start=1&limit=20',
    		method: 'POST'
    	}),
    	reader: myReader
    });
    ds.setDefaultSort('style', 'asc');
    
    var cm = new Ext.grid.ColumnModel([
    	{id:'id', header: "Company", sortable: true, dataIndex: 'company'},
    	{header: "Customer", sortable: true, dataIndex: 'customer'},
    	{header: "Season", sortable: true, dataIndex: 'season'},
    	{header: "Style", sortable: true, dataIndex: 'style'},
    	{header: "Wholesale", sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'whlsale'},
    	{header: "MSRP", sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'msrp'},
    	{header: "Cost", sortable: true, dataIndex: 'cost', renderer: Ext.util.Format.usMoney},
    	{header: "Retail", sortable: true, dataIndex: 'retail', renderer: Ext.util.Format.usMoney},
    	{header: "Units", sortable: true, dataIndex: 'units'}
    ]);

  4. #4

    Join Date
    Jan 2008
    Location
    Levittown, PA
    Posts
    364

    Default

    I'll plug this in. Thank you very much.

    I'm working in Dreamweaver, but have been using Firefox and Firebug to test. Only one error came up in Firebug, but I have a feeling once the one was fixed the others would appear!

    Grid works great to display the initial 20 records, but seems the paging is not working and the arror icons are disabled. I check into this on the forums before asking for additional help.

    Thanks again Condor.

  5. #5

    Join Date
    Jan 2008
    Location
    Levittown, PA
    Posts
    364

    Default

    Gesh, my paging issue was the fact that I didn't return the total records count, I had that returning the page size! Doh! I figured that out from another post by Condor.

    Next I'll want to add "grouping" to this grid. Hopefully it's not that bad. I have been staring at the grouping example!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •