单击按钮,打开一个窗口,其中有一个表单面板和一个网格。在表单中我有一些组合框,文本框和提交按钮。单击提交按钮时,它应联系数据库并获取值,然后填充网格列。对于特定的作业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'}
]
);
答案 0 :(得分:0)
您是否在.html文件中添加了包含CFQuery Reader代码的.js文件的相对路径?
例如,我添加了Pentaho Reader的路径如下
<script type="text/javascript" src="app/PentahoReader.js"></script>