Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: Сгруппированная таблица из древовидной модели в отчёте. Как?  (Read 5838 times)

kaa_green

  • Newbie
  • *
  • Posts: 4
    • View Profile
Подскажите, кто знает:
Предположим есть у нас дерево:
Code: [Select]
QStandardItemModel* model = new QStandardItemModel(0,2,this);
QStandardItem *parentItem = model->invisibleRootItem();
QStandardItem *root1 = new QStandardItem(QString("Корень1"));
QStandardItem *root2 = new QStandardItem(QString("Корень2"));
QStandardItem *item1 = new QStandardItem(QString("Элемент 1"));
QStandardItem *item2 = new QStandardItem(QString("Элемент 2"));
QStandardItem *item3 = new QStandardItem(QString("Элемент 3"));
QStandardItem *item4 = new QStandardItem(QString("Элемент 4"));
root1->setChild(0, 0, item1);
root1->setChild(0, 1, item2);
root2->setChild(0, 0, item3);
root2->setChild(0, 1, item4);
parentItem->appendRow(root1);
parentItem->appendRow(root2);

Добавляем модель в отчёт:
Code: [Select]
LimeReport::ReportEngine *report = new LimeReport::ReportEngine(this);
report->dataManager()->addModel("Тестовая модель", model, true);

Ну и далее предположим так:
Code: [Select]
report->designReport();
В результате в источниках данных в отчёте вижу только корневые элементы.

А нужно сделать отчёт в котором табличка будет сгруппирована следующим образом:
Корень1
Элемент1Элемент2
Корень2
Элемент3Элемент4

Такое возможно? Если да, то как? Ткните носом в пример...
Подключение к базе не рассматривается, т.к. отчёт формируется на клиентской стороне в далеке от базы и модели уже в памяти...

Всем спасибо за дельные советы!

[вложение удалено администратором]
« Last Edit: April 25, 2016, 04:59:32 pm by kaa_green »

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Вот пример обработки дерева

[вложение удалено администратором]

kaa_green

  • Newbie
  • *
  • Posts: 4
    • View Profile
Ага, спасибо! Всё встало на свои места :)

strider

  • Newbie
  • *
  • Posts: 1
    • View Profile
Добрый день!
Вопрос все еще актуален. Как можно обработать дерево, описанное автором?
(спрашиваю, так как все вложения удалены, а тема очень актуальна)

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Приветствую.
В limereport дерево произвольной вложенности вывести не получится. Если дерево имеет фиксированную глубину, то можно сделать отрисовку на master-detail источниках данных и detail-subdetail band`дах.