Ext.data.CFQueryReader不是构造函数错误

时间:2012-03-01 10:35:32

标签: extjs

单击按钮,打开一个窗口,其中有一个表单面板和一个网格。在表单中我有一些组合框,文本框和提交按钮。单击提交按钮时,它应联系数据库并获取值,然后填充网格列。对于特定的作业ID,我们只能从数据库中获取一组值。对于读取数据库查询,我使用的是“Ext.data.CFQueryReader”。现在我收到错误“Ext.data.CFQueryReader不是构造函数”。 因为我对ext js很新,所以我不确定代码流,因为我一直在利用其他模块中使用的代码。所以我的代码会有一些空白。 请就此向我提出建议。以下是我在此页面中使用的代码段。如果有除此之外的任何简单方法,请告诉我。 我不确定我们是否需要在这里使用pagingtoolbar。如果未使用pagingtoolbar,我们如何获取值?

var filterForm = new Ext.form.FormPanel({
        title       : 'Filters',
        floatable           : false,
        id          : 'filterForm',
        items       : [
        {
            xtype       : 'combo',
            id          :'Combo1',
            fieldLabel      :'Owner',
            valueField      :'ownerValue',
            displayField    :'ownerDisplay',
            value       :'ALL' 
        },
        {
            xtype       : 'combo',
            id          :'Combo2',
            fieldLabel      :'Status',
            valueField      :'statusValue',
            displayField    :'statusDisplay',
            value       :'ALL'
        },
        {
            xtype       : 'textfield',
            fieldLabel      : 'job Search',
            width       : 200,
            id          :'searchText'       
        }
       ],
       buttons: [
        {
            text    : 'Apply Filter(s)',
            id      : 'apply',
            handler : function(){
                loadJobs();
             }
        }
       ]

    });

var filterGrid = new Ext.grid.GridPanel({
        title   : 'List',   
        id      : 'list',
        store   : listStore,

        columns: [
            {
                header      : 'JOBID',
                width       : 70,
                dataIndex   : 'jobid',
                sortable    : true
            },
            {               
                header      : 'Description',
                id      : 'description',
                dataIndex   : 'description',
            },
            {               
                header      : 'Category',
                dataIndex   : 'category',
                width       : 100
            }   
            ]
              });

function loadJobs()
{
    pagingToolBar.displayMsg = "Displaying {0} - {1} of {2}";
    listStore.baseParams.jobid = '';
    pagingToolBar.changePage(1);

}

var pagingToolBar = new Ext.PagingToolbar({
    pageSize    : 20,
    id      : 'pagingToolbar',
    store   : listStore,
    displayInfo : true,
    displayMsg  : 'Displaying jobs {0} - {1} of {2}'
});

var listStore= new Ext.data.Store({
    url         : "/list.cfc",
    method      : 'POST',
    reader      : listReader,
    baseParams  : {
        method      : 'fetchList',
        returnFormat    : 'json',
        owner       : 'ALL',
        status      : 'ALL',
        jobidSearch     : '',
        jobid       : ''
    },
    listeners   : {
        beforeload  : function(store,options){
            store.baseParams.email = Ext.getCmp('Combo1').getValue();
            store.baseParams.status = Ext.getCmp('Combo2').getValue();
            store.baseParams.idSearch =Ext.getCmp('searchText').getValue();
        }
    }
});

var listReader = new Ext.data.CFQueryReader(
    {
        id          : 'jobid',
        totalProperty   : 'TOTALROWCOUNT'
    },
    [
        {   name    : 'jobid',mapping : 'JOBID',type : 'string'},
        {   name    : 'description',mapping : 'DESCRIPTION',type : 'string'},
        {   name    : 'category',mapping    : 'CATEGORY',type :'string'}        
   ]
);

1 个答案:

答案 0 :(得分:0)

您是否在.html文件中添加了包含CFQuery Reader代码的.js文件的相对路径?

例如,我添加了Pentaho Reader的路径如下

<script type="text/javascript" src="app/PentahoReader.js"></script>