Панель инструментов ExtJS с несколькими строками

Ваш запрос пока выглядит хорошо. Чтобы проверить, использует ли продукт клиент впервые, вы можете использовать ROW_NUMBER(), чтобы присвоить ранг каждой записи в группах записей с одинаковым UserId и одинаковым Product, упорядоченных по Date. Когда номер строки 1, вы знаете, что имеете дело с новым продуктом.

SELECT 
    UA.UserId, 
    UA.Product, 
    UA.Client, 
    CASE 
        WHEN ROW_NUMBER() OVER(PARTITION BY UA.UserId, UA.Product ORDER BY UA.Date) = 1 
        THEN true 
        ELSE false 
    END AS IsNewProduct,
    CASE 
        WHEN UA.Date = FLS.Date
        THEN true
        ELSE false
    END AS IsNewClient
FROM UserActivity as UA
LEFT JOIN FirstLastSeen AS FLS 
    ON UA.UserId   = FLS.UserId 
    AND UA.Product = FLS.Product 
    AND UA.Client  = FLS.Client;

Эта демонстрация на DB Fiddle с вашими примерами возвращает:

| UserId | Product | Client      | IsNewProduct | IsNewClient |
| ------ | ------- | ----------- | ------------ | ----------- |
| John   | Bank    | Mobile App  | 1            | 0           |
| John   | Bank    | Desktop App | 0            | 1           |
| Sally  | Gym     | Web App     | 1            | 1           |

14
задан user99322 6 May 2009 в 12:23
поделиться

4 ответа

Вы не упомянули, к какому виджету вы хотите добавить панели инструментов, но в целом вы можете добавить столько панелей инструментов, сколько хотите:

var panel = new Ext.Panel();
var tool1 = new Ext.Toolbar({...});
var tool2 = new Ext.Toolbar({...});

panel.add(tool1);
panel.add(tool2);
...

Если вы хотите добавить дополнительную панель инструментов вверху сетки, затем найдите компонент панели сетки и добавьте к нему панели инструментов. Это может выглядеть так (не проверено):

tPanel = grid.getTopToolbar().ownerCt; // get top toolbar's container panel
tPanel.add(anotherToolbar);
17
ответ дан 1 December 2019 в 07:13
поделиться

Я не уверен, возможно ли это или нет, но то, что вы всегда можете сделать, это разделить северную область (например, с использованием макета границы) на две строки, используя макет строки. Затем вы можете добавить одну панель инструментов в верхний ряд, а другую - во второй ряд.

0
ответ дан 1 December 2019 в 07:13
поделиться

I'm not sure if this is exactly what you are looking for but Toolbars has been revamped in Ext 3.0.

You might want to take a peek at: http://extjs.com/deploy/ext-3.0-rc1.1/examples/toolbar/toolbars.html

1
ответ дан 1 December 2019 в 07:13
поделиться

Посмотрите на эту нить на форуме EXT. Он описывает, как создать панель инструментов и сделать его на существующую панель инструментов.

http://www.extjs.com/forum/showtread.php?t=12433

-121-233

0
ответ дан 1 December 2019 в 07:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: