Your problem lies in that you have not converted the Array to a JSon array,
therefore your Json is invalid.

Might I suggest using FireFox with with Firebug and / or Chrome console to
show us what your Json is being returned. I am convinced by looking at the
code that a Json Array is not being handled here.


On Thu, Jan 12, 2012 at 11:05 PM, Tom Small <t...@re-base.net> wrote:

>
> Hi Andrew this is my store and ConvertQueriesForExt.cfc:
>
> Ext.define('MyApp.store.UserStore', {
>    extend: 'Ext.data.Store',
>
>    constructor: function(cfg) {
>        var me = this;
>        cfg = cfg || {};
>        me.callParent([Ext.apply({
>            autoLoad: true,
>            storeId: 'UserStore',
>            proxy: {
>                type: 'ajax',
>                url: '/orm_2/view/user/app/store/ConvertQueriesForExt.cfc',
>                reader: {
>                    type: 'json',
>                    idProperty: 'name',
>                    root: 'users'
>                }
>            },
>            fields: [
>                {
>                    name: 'user_pk',
>                    allowBlank:false,
>                    type: 'int'
>                },
>                {
>                    name: 'email',
>                    sortType: 'asText',
>                    type: 'string'
>                },
>                {
>                    name: 'isactive',
>                    type: 'boolean'
>                },
>                {
>                    name: 'userroleid',
>                    sortType: 'asInt',
>                    type: 'int'
>                }
>            ]
>        }, cfg)]);
>    }
> });
> ----------------------------------------
>
>
> <cfcomponent output="false">
>
> <cffunction name="getUsers" access="remote" returnformat="json"
> output="false" hint="Gets list/detail of posts">
>     <cfargument name="limit" type="numeric" required="no">
>     <cfargument name="start" type="numeric" required="no">
>     <cfargument name="sort" required="no" type="string">
>
>        <cfset var userData = "">
>
>        <cfquery name="userData" datasource="orm_2">
>           SELECT user_pk,email,isactive,userroleid
>           FROM users
>           ORDER BY #arguments.sort#
>     </cfquery>
>
>        <cfset clist = 'user_pk,email,isactive,userroleid'>
>     <cfset arrayRecords =
> convertQueryToExtJSON(userData,clist,arguments.limit,arguments.start)>
>     <cfset s = {rows=arrayRecords,dataset=#userData.recordcount#}>
>     <cfreturn s />
> </cffunction>
>
>
>
> <cffunction name="ConvertQueryToExtJSON" returntype="any" access="public">
>      <cfargument name="query" type="query" required="yes" />
>      <cfargument name="clist" type="string" required="yes" />
>      <cfargument name="limit" type="numeric" required="yes" />
>      <cfargument name="start" type="numeric" required="yes" />
>      <cfscript>
>           arrayRecords = ArrayNew(1);
>           if(arguments.start==0) {
>                counter = 1;
>           }
>           else {
>                counter = arguments.start;
>           }
>           for(i=1;i<=arguments.limit;i++)  {
>                strResults = structNew();
>                for(x=1;x<=listLen(clist);x++) {
>                     strResults[ucase(listGetAt(clist,x))] =
> query[listGetAt(clist,x)][counter];
>                }
>                arrayRecords[i] = strResults;
>                counter = counter+1;
>          }
>          return arrayRecords;
>     </cfscript>
>
> </cffunction>
> </cfcomponent>
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:349433
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to