Russian Qt Forum
Ноябрь 24, 2024, 00:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTreeView + база данных  (Прочитано 2928 раз)
Jeka38irk
Гость
« : Октябрь 11, 2011, 10:06 »

Доброго времени суток!!! Улыбающийся
есть:
Код:
 QSqlQuery query,districts;
    query.exec("SELECT id,code,name FROM base where pid is null" );

    QStandardItemModel *model = new QStandardItemModel(this);
    QStandardItem *parentItem = model->invisibleRootItem();

    while (query.next()){
        QStandardItem *item = new QStandardItem(QString("%0").arg(query.value(1).toString()+" - "+query.value(2).toString()));
                        parentItem->appendRow(item);
                        item->appendRow(QStandardItem::setText(" "));

                        districts.prepare("SELECT code,name FROM base where pid = "+query.value(0).toString() );
                        districts.bindValue(1, query.value(0).toString());
                        while(districts.next()){
                                                QStandardItem *itemchild = new QStandardItem(QString("%0").arg(districts.value(0).toString()+" - "+districts.value(1).toString()));
                                                item->appendRow(itemchild);

                              }


    }
    QTreeView *view = new QTreeView(ui->comboBox_3);
    view->setModel(model);
все стоит как надо только  очень долго когда в базе 14 т. записей.
Есть идея
сначала построить  item
к примеру:
+ item1
+ item2
+ item3
а itemchild строить при нажатие на item
- item1
      | 
 
Записан
Jeka38irk
Гость
« Ответ #1 : Октябрь 11, 2011, 10:08 »

 |
  - itemchild1
 |
  -itemchild2

как это сделать???
Записан
JayFOX
Гость
« Ответ #2 : Октябрь 11, 2011, 10:57 »

Какая СУБД? Когда я такое делал, я писал рекурсивный запрос чтобы вычислить глубину детишек, сортировал по глубине и за один проход по запросу строил дерево. Но нужно ли грузить сразу 14к записей?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 20.