myMixedCollection
sẽ là một tập hợp các bản ghi (trường hợp mẫu) và miễn là cửa hàng mới có cùng mô hình thiết lập, điều này sẽ hoạt động! Vì vậy, câu trả lời là Có
Vâng, chắc chắn bạn cần phải gọi getRange() trên myMixedCollection
dụ
Dưới đây là một ví dụ làm việc
// Set up a model to use in our Store
Ext.define('Simpson', {
extend: 'Ext.data.Model',
fields: [
{name: 'name', type: 'string'},
{name: 'email', type: 'string'},
{name: 'phone', type: 'string'}
]
});
var s1 = Ext.create('Ext.data.Store', {
model:'Simpson',
storeId:'simpsonsStore',
fields:['name', 'email', 'phone'],
data:{'items':[
{ 'name': 'Lisa', "email":"[email protected]", "phone":"555-111-1224" },
{ 'name': 'Bart', "email":"[email protected]", "phone":"555-222-1234" },
{ 'name': 'Homer', "email":"[email protected]", "phone":"555-222-1244" },
{ 'name': 'Marge', "email":"[email protected]", "phone":"555-222-1254" }
]},
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'items'
}
}
});
var mixed = s1.queryBy(function(rec){
if(rec.data.name == 'Lisa')
return true;
});
var s1 = Ext.create('Ext.data.Store', {
model:'Simpson',
storeId:'simpsonsStore2',
fields:['name', 'email', 'phone'],
data: mixed.getRange(),
proxy: {
type: 'memory',
reader: {
type: 'json'
}
}
});
Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
store: Ext.data.StoreManager.lookup('simpsonsStore2'),
columns: [
{ text: 'Name', dataIndex: 'name' },
{ text: 'Email', dataIndex: 'email', flex: 1 },
{ text: 'Phone', dataIndex: 'phone' }
],
height: 200,
width: 400,
renderTo: Ext.getBody()
});
và JSFiddle
Và nguyện downvoter xin vui lòng ghi rõ lý do tại sao ông đã downvoted? – sra
Có nó hoạt động, tôi quên sử dụng phương thức getRange(). Thx sra. – dgedge03
các troll bị loại bỏ :) – dbrin