extjs-показывает записи в сетке из двух разных магазинов? - PullRequest
1 голос
/ 20 апреля 2011

Привет, у меня есть сетка, и у меня есть два магазина, и я хочу отобразить оба магазина в одной сетке, есть ли способ сделать это ... помогите пожалуйста

Ответы [ 3 ]

1 голос
/ 21 апреля 2011

Вы не можете (без некоторого грубого взлома) показать два магазина в сетке.

Что вы можете сделать, это создать третий магазин, который прослушивает два дочерних магазина для событий add / datachanged / update / remove,Взгляните здесь на то, что вам нужно поддерживать.

0 голосов
/ 06 сентября 2011

Чем больше рендеров вы используете, тем медленнее будет выполняться рендеринг, так как он делает довольно много, подумайте, сколько у вас рендеров тогда ... 10 столбцов, 100 строк ... 10 X 100 = 1000 рендеров.

Подумайте, как решить вашу проблему, а затем разобраться с тем, что у вас есть.

0 голосов
/ 05 сентября 2011

Например, первый столбец данных поступает из хранилища 1, а данные из хранилища 2 образуют столбцы 2 и 3. Вы можете использовать средство визуализации, которое находит данные во втором хранилище, если «другие» столбцы являются просто «поисковыми»данные, например:

var store1 = new Ext.data.Store({
    ...,
    fields: ['field1', 'field2']
});

var store2 = new Ext.data.Store({
    ...
    id: 'field2',
    fields: ['field2', 'fieldA', 'fieldB']
});

var renderA = function(value) {
    var rec = store2.getById(value);
    return rec ? rec.get('fieldA') : '';
}
var renderB = function(value) {
    var rec = store2.getById(value);
    return rec ? rec.get('fieldB') : '';
}

var columns = [
    {header: 'Field 1', dataIndex: 'field1'},
    {header: 'Field A', dataIndex: 'field2', renderer: renderA},
    {header: 'Field B', dataIndex: 'field2', renderer: renderB}
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...