EXTJS5.0分页不对 extjs分页javajs 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 现在问题是加上这段代码 success:").append(true).append(",");sb.append("resultCount:'").append(resultList.size()).append("',");就报错。我debugger进去运行到 store.loadData(eval(resultData)); 这里加载数据就出错了。 看下是不是.resultData 的数据格式等问题 . 验证看看, 用验证可以通过的字符串还是不行。不过现在不报错了,而是不显示数据。如下:constructor: function(cfg) { var me = this; cfg = cfg || {}; me.callParent([Ext.apply({ storeId: 'Store1', data: [ {success:true, resultCount:40, results:[ { field1: 'Thu Jul 07 13:31:19 CST 2011', field2: 'SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING_VALUE,T.COUNTRY_CODE,T.LANG_CODE,L.TEXT_LEVEL_TYP,L.TEXT_LEVEL_NAME FROM GUI_TEXT_LEVEL L,XUI_TEXT T,GUI_TEXT G WHERE T.SERV_PROV_CODE = L.SERV_PROV_CODE AND T.TEXT_LEVEL_ID = L.TEXT_LEVEL_ID AND G.STRING_KEY = T.STRING_KEY AND G.LANG_CODE = T.LANG_CODE AND G.COUNTRY_CODE = T.COUNTRY_CODE', field3: '', field4: '2.125', field5: '0' } ] } ], pageSize:40, autoLoad: { start: 0, limit: 40 }, proxy: { type: 'ajax', reader: { type: 'json', root: 'results', totalProperty: 'resultCount' } }, fields: [ { name: 'field1' }, { name: 'field2' }, { name: 'field2' }, { name: 'field4' }, { name: 'field5' } ] }, cfg)]); }再帮忙看看是不是还有什么问题? loadData 看你的数据是否返回到js ,再对对你的列名称看看. 我用extjs5.0做了一个分页,结果失败。代码如下:store.jsExt.define('AADashboard.store.RiskySQLStore', { extend: 'Ext.data.Store', requires: [ 'Ext.data.proxy.Ajax', 'Ext.data.reader.Json', 'Ext.data.field.Field' ], constructor: function(cfg) { var me = this; cfg = cfg || {}; me.callParent([Ext.apply({ storeId: 'RiskySQLStore', model: 'AADashboard.model.RiskySQLModel', autoLoad: true, data: [ {totalCount:"1", topics:[ { executeTime: "Thu Jul 07 13:31:19 CST 2011", sqlContent: "SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING", parameters: "", spendTime: "2.125", recordNumber: "0" } ] } ], proxy: { type: 'ajax', reader: { type: 'json', rootProperty: 'topics', totalProperty: 'totalCount' } }, fields: [ { name: 'executeTime' }, { name: 'sqlContent' }, { name: 'parameters' }, { name: 'spendTime' }, { name: 'recordNumber' } ] }, cfg)]); }});view.js的代码如下:{ xtype: 'tabpanel', frame: true, itemId: 'MonitoringTabPanel', activeTab: 0, plain: true, tabPosition: 'bottom', items: [ { xtype: 'gridpanel', autoScroll: true, itemId: 'RiskSQLMonitoringTab', title: 'Risk SQL', store: 'RiskySQLStore', loadMask: true, columns: [ { xtype: 'datecolumn', width: '6%', dataIndex: 'executeTime', text: 'Time' }, { xtype: 'gridcolumn', dataIndex: 'sqlContent', text: 'SQL', flex: 1 }, { xtype: 'gridcolumn', width: '20%', dataIndex: 'parameters', text: 'Parameters' }, { xtype: 'gridcolumn', width: '6%', dataIndex: 'spendTime', text: 'Spend Time' }, { xtype: 'gridcolumn', width: '5%', dataIndex: 'recordNumber', text: 'Counts' } ], dockedItems: [ { xtype: 'pagingtoolbar', dock: 'bottom', itemId: 'riskySQLToolBar', width: 360, id:'riskySQLToolBar', afterPageText: 'total {0} page', beforePageText: 'Page number', displayInfo: true, emptyMsg: 'No datas to display', store: 'RiskySQLStore', listeners: { beforechange: 'onRiskySQLToolBarBeforeChange', afterrender: 'onRiskySQLToolBarBeforeRender' } } ] },如果我的store.js修改如下:Ext.define('AADashboard.store.RiskySQLStore', { extend: 'Ext.data.Store', requires: [ 'Ext.data.proxy.Ajax', 'Ext.data.reader.Json', 'Ext.data.field.Field' ], constructor: function(cfg) { var me = this; cfg = cfg || {}; me.callParent([Ext.apply({ storeId: 'RiskySQLStore', model: 'AADashboard.model.RiskySQLModel', autoLoad: true, data:[ { executeTime: "Thu Jul 07 13:31:19 CST 2011", sqlContent: "SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING_VAL", parameters: "", spendTime: "2.125", recordNumber: "0" } ] , /*pageSize:40, autoLoad: { start: 0, limit: 40 },*/ proxy: { type: 'ajax', reader: { type: 'json', rootProperty: 'topics', totalProperty: 'totalCount' } }, fields: [ { name: 'executeTime' }, { name: 'sqlContent' }, { name: 'parameters' }, { name: 'spendTime' }, { name: 'recordNumber' } ] }, cfg)]); }});就能在gridpanel中显示数据,但分页toolbar里没有数据。也就是分页失败。 json字符串不是要eval("("+data+")")这样的么? 这个跟eval关系应该不大,因为一个能显示数据出来虽然分页有问题。为什么这个不可以data: [{totalCount:"1",topics:[ { executeTime: "Thu Jul 07 13:31:19 CST 2011", sqlContent: "SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING", parameters: "", spendTime: "2.125", recordNumber: "0" } ]但这个可以显示数据data:[ { executeTime: "Thu Jul 07 13:31:19 CST 2011", sqlContent: "SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING_VAL", parameters: "", spendTime: "2.125", recordNumber: "0" } ]当然两个都不能分页。 JTree图标 用JAVA编写 jni 在dll接口里如何实现对java方法里属性值的改变? 自定义异常的一个小问题 继承类的问题 谁能给我发一个ant和java混淆器呢?现在官方网站连接不上。我这里着急的用谢谢了!!! 菜鸟求教第2弹,请高手指教! 简单问题? 能不能用Java做出Windows的应用程序? 招募k-java程序员(兼职) 初学者问一行简单的代码解释 关于JAVA对话框的布局问题。
现在问题是加上这段代码 success:").append(true).append(",");
sb.append("resultCount:'").append(resultList.size()).append("',");就报错。我debugger进去运行到 store.loadData(eval(resultData)); 这里加载数据就出错了。
用验证可以通过的字符串还是不行。不过现在不报错了,而是不显示数据。如下:
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
storeId: 'Store1',
data: [
{success:true,
resultCount:40,
results:[
{
field1: 'Thu Jul 07 13:31:19 CST 2011',
field2: 'SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING_VALUE,T.COUNTRY_CODE,T.LANG_CODE,L.TEXT_LEVEL_TYP,L.TEXT_LEVEL_NAME FROM GUI_TEXT_LEVEL L,XUI_TEXT T,GUI_TEXT G WHERE T.SERV_PROV_CODE = L.SERV_PROV_CODE AND T.TEXT_LEVEL_ID = L.TEXT_LEVEL_ID AND G.STRING_KEY = T.STRING_KEY AND G.LANG_CODE = T.LANG_CODE AND G.COUNTRY_CODE = T.COUNTRY_CODE',
field3: '',
field4: '2.125',
field5: '0'
}
]
}
],
pageSize:40,
autoLoad: {
start: 0,
limit: 40
},
proxy: {
type: 'ajax',
reader: {
type: 'json',
root: 'results',
totalProperty: 'resultCount'
}
},
fields: [
{
name: 'field1'
},
{
name: 'field2'
},
{
name: 'field2'
},
{
name: 'field4'
},
{
name: 'field5'
}
]
}, cfg)]);
}
再帮忙看看是不是还有什么问题?
我用extjs5.0做了一个分页,结果失败。代码如下:
store.js
Ext.define('AADashboard.store.RiskySQLStore', {
extend: 'Ext.data.Store', requires: [
'Ext.data.proxy.Ajax',
'Ext.data.reader.Json',
'Ext.data.field.Field'
], constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
storeId: 'RiskySQLStore',
model: 'AADashboard.model.RiskySQLModel',
autoLoad: true,
data: [
{totalCount:"1",
topics:[
{
executeTime: "Thu Jul 07 13:31:19 CST 2011",
sqlContent: "SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING",
parameters: "",
spendTime: "2.125",
recordNumber: "0"
}
]
}
],
proxy: {
type: 'ajax',
reader: {
type: 'json',
rootProperty: 'topics',
totalProperty: 'totalCount'
}
},
fields: [
{
name: 'executeTime'
},
{
name: 'sqlContent'
},
{
name: 'parameters'
},
{
name: 'spendTime'
},
{
name: 'recordNumber'
}
]
}, cfg)]);
}
});view.js的代码如下:
{
xtype: 'tabpanel',
frame: true,
itemId: 'MonitoringTabPanel',
activeTab: 0,
plain: true,
tabPosition: 'bottom',
items: [
{
xtype: 'gridpanel',
autoScroll: true,
itemId: 'RiskSQLMonitoringTab',
title: 'Risk SQL',
store: 'RiskySQLStore',
loadMask: true,
columns: [
{
xtype: 'datecolumn',
width: '6%',
dataIndex: 'executeTime',
text: 'Time'
},
{
xtype: 'gridcolumn',
dataIndex: 'sqlContent',
text: 'SQL',
flex: 1
},
{
xtype: 'gridcolumn',
width: '20%',
dataIndex: 'parameters',
text: 'Parameters'
},
{
xtype: 'gridcolumn',
width: '6%',
dataIndex: 'spendTime',
text: 'Spend Time'
},
{
xtype: 'gridcolumn',
width: '5%',
dataIndex: 'recordNumber',
text: 'Counts'
}
],
dockedItems: [
{
xtype: 'pagingtoolbar',
dock: 'bottom',
itemId: 'riskySQLToolBar',
width: 360,
id:'riskySQLToolBar',
afterPageText: 'total {0} page',
beforePageText: 'Page number',
displayInfo: true,
emptyMsg: 'No datas to display',
store: 'RiskySQLStore',
listeners: {
beforechange: 'onRiskySQLToolBarBeforeChange',
afterrender: 'onRiskySQLToolBarBeforeRender'
}
}
]
},如果我的store.js修改如下:
Ext.define('AADashboard.store.RiskySQLStore', {
extend: 'Ext.data.Store', requires: [
'Ext.data.proxy.Ajax',
'Ext.data.reader.Json',
'Ext.data.field.Field'
], constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
storeId: 'RiskySQLStore',
model: 'AADashboard.model.RiskySQLModel',
autoLoad: true,
data:[
{
executeTime: "Thu Jul 07 13:31:19 CST 2011",
sqlContent: "SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING_VAL",
parameters: "",
spendTime: "2.125",
recordNumber: "0"
}
]
,
/*pageSize:40,
autoLoad: {
start: 0,
limit: 40
},*/
proxy: {
type: 'ajax',
reader: {
type: 'json',
rootProperty: 'topics',
totalProperty: 'totalCount'
}
},
fields: [
{
name: 'executeTime'
},
{
name: 'sqlContent'
},
{
name: 'parameters'
},
{
name: 'spendTime'
},
{
name: 'recordNumber'
}
]
}, cfg)]);
}
});
就能在gridpanel中显示数据,但分页toolbar里没有数据。也就是分页失败。
为什么这个不可以data: [
{totalCount:"1",
topics:[
{
executeTime: "Thu Jul 07 13:31:19 CST 2011",
sqlContent: "SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING",
parameters: "",
spendTime: "2.125",
recordNumber: "0"
}
]但这个可以显示数据data:[
{
executeTime: "Thu Jul 07 13:31:19 CST 2011",
sqlContent: "SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING_VAL",
parameters: "",
spendTime: "2.125",
recordNumber: "0"
}
]当然两个都不能分页。