Название: QTreeView + база данных
Отправлено: 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 |
Название: Re: QTreeView + база данных
Отправлено: Jeka38irk от Октябрь 11, 2011, 10:08
| - itemchild1 | -itemchild2
как это сделать???
Название: Re: QTreeView + база данных
Отправлено: JayFOX от Октябрь 11, 2011, 10:57
Какая СУБД? Когда я такое делал, я писал рекурсивный запрос чтобы вычислить глубину детишек, сортировал по глубине и за один проход по запросу строил дерево. Но нужно ли грузить сразу 14к записей?
|