jamesblld
4 Apr 2012, 8:52 AM
Hi all,
I'm a newbie to Sencha and recently created a small app that simply displays a grid that is fed from a WCF Rest service with MS Sql on the back end. When I created a small app that feeds the Grid it works but when I created an app using MVC architecture it doesn't populate the Grid. I've checked that the Json formatted data is coming through on the read via fiddler so I know the data structure is legit. Checked the folder structure in the app to make sure everything is being referenced properly. I also checked in Chrome for any errors and it checked out okay.
I'm not sure what it is, maybe I'm overlooking something simple. Anyway here's the code:
app.js
Ext.application({
name: 'ra',
appFolder: 'app',
useLoadMask: true,
controllers: ['MfgOrders'],
launch: function() {
Ext.create('Ext.container.Viewport', {
items: [
{region: 'center',
xtype: 'moquerylist',
style: 'margin: 5px auto 0px auto;'}
]
});
}
});
Controller:
Ext.define('ra.controller.MfgOrders', {
extend: 'Ext.app.Controller',
stores: ['MoList'],
models: ['MfgOrder'],
views: ['mfgorder.MoList'],
init: function() {
alert('grid is loading')
}
});
Model:
Ext.define('ra.model.MfgOrder', {
extend: 'Ext.data.Model',
fields: [
{name: 'CseCycleTime'},
{name: 'CseDisplayName'},
{name: 'CseEndDate',dateFormat: 'MS',type: 'date'},
{name: 'CseStartDate',dateFormat: 'MS',type: 'date'},
{name: 'CstCycleTime'},
{name: 'CstDisplayName'},
{name: 'CstEndDate',dateFormat: 'MS',type: 'date'},
{name: 'CstStartDate',dateFormat: 'MS',type: 'date'},
{name: 'CstWrapDate',dateFormat: 'MS',type: 'date'},
{name: 'CurrentPromiseDate',dateFormat: 'MS',type: 'date'},
{name: 'Gpmfgorderid'},
{name: 'ItemDin'},
{name: 'ItemNumber'},
{name: 'ItemSn'},
{name: 'MoStatus'},
{name: 'Stage'},
{name: 'UA'},
{name: 'WUCycleTime'},
{name: 'WUDisplayName'}
]
});
Store:
Ext.define('ra.store.MoList', {
extend: 'Ext.data.Store',
model: 'ra.model.MfgOrder',
autoload: true,
proxy: {
type: 'ajax',
url: 'http://dev02/ImsDataSrv/MoQueryService/moQry',
reader: {
type: 'json',
messageProperty: 'Message',
root: 'Data',
successProperty: 'Success',
totalProperty: 'Cnt',
record: ''
}
}
});
View:
Ext.define('ra.view.mfgorder.MoList' ,{
extend: 'Ext.grid.Panel',
alias : 'widget.moquerylist',
title: 'All MOs',
store: 'MoList',
height: 429,
width: 852,
autoScroll: true,
enableColumnHide: false,
enableColumnMove: false,
enableColumnResize: false,
scroll: 'vertical',
columnLines: true,
columns: [
{
xtype: 'gridcolumn',
id: 'mfgorder',
width: 82,
dataIndex: 'Gpmfgorderid',
editor: {
xtype: 'textfield',
allowBlank: false
},
flex: 1,
header: 'MFG Order'
},
{
xtype: 'gridcolumn',
dataIndex: 'ItemNumber',
header: 'Item #'
},
{
xtype: 'datecolumn',
width: 57,
dataIndex: 'CurrentPromiseDate',
editor: {
xtype: 'datefield'
},
flex: 1,
header: 'CPD',
format: 'm/d/y'
},
{
xtype: 'gridcolumn',
width: 28,
dataIndex: 'UA',
header: 'UA'
},
{
xtype: 'gridcolumn',
width: 68,
dataIndex: 'ItemDin',
header: 'DIN'
},
{
xtype: 'gridcolumn',
width: 80,
dataIndex: 'ItemSn',
header: 'SN'
},
{
xtype: 'gridcolumn',
width: 50,
dataIndex: 'CseDisplayName',
header: 'CSE'
},
{
xtype: 'datecolumn',
draggable: false,
width: 57,
dataIndex: 'CseStartDate',
header: 'CSE St.',
format: 'm/d/y'
},
{
xtype: 'datecolumn',
width: 57,
dataIndex: 'CseEndDate',
header: 'CSE End',
format: 'm/d/y'
},
{
xtype: 'gridcolumn',
width: 45,
align: 'right',
dataIndex: 'CseCycleTime',
header: 'CSE Cy'
},
{
xtype: 'gridcolumn',
width: 50,
dataIndex: 'CstDisplayName',
header: 'CST'
},
{
xtype: 'datecolumn',
width: 57,
dataIndex: 'CstStartDate',
header: 'CST St.',
format: 'm/d/y'
},
{
xtype: 'datecolumn',
width: 57,
dataIndex: 'CstEndDate',
header: 'CST End',
format: 'm/d/y'
},
{
xtype: 'gridcolumn',
width: 45,
align: 'right',
dataIndex: 'CstCycleTime',
header: 'CST'
}
]
,
plugins: [
Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
})
],
selModel: Ext.create('Ext.selection.CheckboxModel', {
allowDeselect: true,
checkOnly: true
})
});
Not sure what I'm missing here! :((
Jim :-?
I'm a newbie to Sencha and recently created a small app that simply displays a grid that is fed from a WCF Rest service with MS Sql on the back end. When I created a small app that feeds the Grid it works but when I created an app using MVC architecture it doesn't populate the Grid. I've checked that the Json formatted data is coming through on the read via fiddler so I know the data structure is legit. Checked the folder structure in the app to make sure everything is being referenced properly. I also checked in Chrome for any errors and it checked out okay.
I'm not sure what it is, maybe I'm overlooking something simple. Anyway here's the code:
app.js
Ext.application({
name: 'ra',
appFolder: 'app',
useLoadMask: true,
controllers: ['MfgOrders'],
launch: function() {
Ext.create('Ext.container.Viewport', {
items: [
{region: 'center',
xtype: 'moquerylist',
style: 'margin: 5px auto 0px auto;'}
]
});
}
});
Controller:
Ext.define('ra.controller.MfgOrders', {
extend: 'Ext.app.Controller',
stores: ['MoList'],
models: ['MfgOrder'],
views: ['mfgorder.MoList'],
init: function() {
alert('grid is loading')
}
});
Model:
Ext.define('ra.model.MfgOrder', {
extend: 'Ext.data.Model',
fields: [
{name: 'CseCycleTime'},
{name: 'CseDisplayName'},
{name: 'CseEndDate',dateFormat: 'MS',type: 'date'},
{name: 'CseStartDate',dateFormat: 'MS',type: 'date'},
{name: 'CstCycleTime'},
{name: 'CstDisplayName'},
{name: 'CstEndDate',dateFormat: 'MS',type: 'date'},
{name: 'CstStartDate',dateFormat: 'MS',type: 'date'},
{name: 'CstWrapDate',dateFormat: 'MS',type: 'date'},
{name: 'CurrentPromiseDate',dateFormat: 'MS',type: 'date'},
{name: 'Gpmfgorderid'},
{name: 'ItemDin'},
{name: 'ItemNumber'},
{name: 'ItemSn'},
{name: 'MoStatus'},
{name: 'Stage'},
{name: 'UA'},
{name: 'WUCycleTime'},
{name: 'WUDisplayName'}
]
});
Store:
Ext.define('ra.store.MoList', {
extend: 'Ext.data.Store',
model: 'ra.model.MfgOrder',
autoload: true,
proxy: {
type: 'ajax',
url: 'http://dev02/ImsDataSrv/MoQueryService/moQry',
reader: {
type: 'json',
messageProperty: 'Message',
root: 'Data',
successProperty: 'Success',
totalProperty: 'Cnt',
record: ''
}
}
});
View:
Ext.define('ra.view.mfgorder.MoList' ,{
extend: 'Ext.grid.Panel',
alias : 'widget.moquerylist',
title: 'All MOs',
store: 'MoList',
height: 429,
width: 852,
autoScroll: true,
enableColumnHide: false,
enableColumnMove: false,
enableColumnResize: false,
scroll: 'vertical',
columnLines: true,
columns: [
{
xtype: 'gridcolumn',
id: 'mfgorder',
width: 82,
dataIndex: 'Gpmfgorderid',
editor: {
xtype: 'textfield',
allowBlank: false
},
flex: 1,
header: 'MFG Order'
},
{
xtype: 'gridcolumn',
dataIndex: 'ItemNumber',
header: 'Item #'
},
{
xtype: 'datecolumn',
width: 57,
dataIndex: 'CurrentPromiseDate',
editor: {
xtype: 'datefield'
},
flex: 1,
header: 'CPD',
format: 'm/d/y'
},
{
xtype: 'gridcolumn',
width: 28,
dataIndex: 'UA',
header: 'UA'
},
{
xtype: 'gridcolumn',
width: 68,
dataIndex: 'ItemDin',
header: 'DIN'
},
{
xtype: 'gridcolumn',
width: 80,
dataIndex: 'ItemSn',
header: 'SN'
},
{
xtype: 'gridcolumn',
width: 50,
dataIndex: 'CseDisplayName',
header: 'CSE'
},
{
xtype: 'datecolumn',
draggable: false,
width: 57,
dataIndex: 'CseStartDate',
header: 'CSE St.',
format: 'm/d/y'
},
{
xtype: 'datecolumn',
width: 57,
dataIndex: 'CseEndDate',
header: 'CSE End',
format: 'm/d/y'
},
{
xtype: 'gridcolumn',
width: 45,
align: 'right',
dataIndex: 'CseCycleTime',
header: 'CSE Cy'
},
{
xtype: 'gridcolumn',
width: 50,
dataIndex: 'CstDisplayName',
header: 'CST'
},
{
xtype: 'datecolumn',
width: 57,
dataIndex: 'CstStartDate',
header: 'CST St.',
format: 'm/d/y'
},
{
xtype: 'datecolumn',
width: 57,
dataIndex: 'CstEndDate',
header: 'CST End',
format: 'm/d/y'
},
{
xtype: 'gridcolumn',
width: 45,
align: 'right',
dataIndex: 'CstCycleTime',
header: 'CST'
}
]
,
plugins: [
Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
})
],
selModel: Ext.create('Ext.selection.CheckboxModel', {
allowDeselect: true,
checkOnly: true
})
});
Not sure what I'm missing here! :((
Jim :-?