早上好!
我有一个grid
,只需点击一下按钮即可更改商店。
我怎么能获取我的网格的当前 store
,无论是哪个加载?
答案 0 :(得分:2)
通常grid.getStore()
会为您提供附加到网格的商店
答案 1 :(得分:1)
我怎样才能获得网格的当前存储?
--->您可以使用grid.getStore()
或直接使用grid.store
获取当前商店。
无论加载哪一个?
---->您将只有一个商店分配给网格,而您将同一商店分配给Paging Toolbar
这是来自sencha的例子:
Ext.onReady(function () {
Ext.tip.QuickTipManager.init();
Ext.define('ForumThread', {
extend : 'Ext.data.Model',
fields : ['title', 'forumtitle', 'forumid', 'username', {
name : 'replycount',
type : 'int'
}, {
name : 'lastpost',
mapping : 'lastpost',
type : 'date',
dateFormat : 'timestamp'
}, 'lastposter', 'excerpt', 'threadid'],
idProperty : 'threadid'
});
// ***** create the Data Store, assign variable to grid and paging toolbar *****
var store = Ext.create('Ext.data.Store', {
pageSize : 50,
model : 'ForumThread',
remoteSort : true,
proxy : {
// load using script tags for cross domain, if the data in on the same domain as
// this page, an HttpProxy would be better type: 'jsonp', url: 'http://www.sencha.com/forum/topics-browse-remote.php',
reader : {
root : 'topics',
totalProperty : 'totalCount'
},
// sends single sort as multi parameter
simpleSortMode : true
},
sorters : [{
property : 'lastpost',
direction : 'DESC'
}
]
});
// pluggable renders function
renderTopic(value, p, record) {
return Ext.String.format('<b><a href="http://sencha.com/forum/showthread.php?t={2}" target="_blank">{0}</a></b><a href="http://sencha.com/forum/forumdisplay.php?f={3}" target="_blank">{1} Forum</a>', value, record.data.forumtitle, record.getId(), record.data.forumid);
}
function renderLast(value, p, r) {
return Ext.String.format('{0}<br/>by {1}', Ext.Date.dateFormat(value, 'M j, Y, g:i a'), r.get('lastposter'));
}
var pluginExpanded = true;
var grid = Ext.create('Ext.grid.Panel', {
width : 700,
height : 500,
title : 'ExtJS.com - Browse Forums',
// ***** above declared store assigned to grid, same will be assigned to paging toolbar
store : store,
disableSelection : true,
loadMask : true,
viewConfig : {
id : 'gv',
trackOver : false,
stripeRows : false,
plugins : [{
ptype : 'preview',
bodyField : 'excerpt',
expanded : true,
pluginId : 'preview'
}
]
},
id : 'topic',
text : "Topic",
dataIndex : 'title',
flex : 1,
renderer : renderTopic,
sortable : false
}, {
text : "Author",
dataIndex : 'username',
width : 100,
hidden : true,
sortable : true
}, {
text : "Replies",
dataIndex : 'replycount',
width : 70,
align : 'right',
sortable : true
}, {
id : 'last',
text : "Last Post",
dataIndex : 'lastpost',
width : 150,
renderer : renderLast,
sortable : true
}
],
// paging bar on the bottom bbar:
Ext.create('Ext.PagingToolbar', {
// ********* same store which is applied to the grid
store : store,
displayInfo : true,
displayMsg : 'Displaying topics {0} - {1} of {2}',
emptyMsg : "No topics to display",
items : ['-', {
text : 'Show Preview',
pressed : pluginExpanded,
enableToggle : true,
toggleHandler : function (btn, pressed) {
var preview = Ext.getCmp('gv').getPlugin('preview');
preview.toggleExpanded(pressed);
}
}
]
}), renderTo : 'topic-grid'
});
// trigger the data store load
store.loadPage(1);