Название: QSqlRelationalTableModel и самописный делегат Отправлено: integer005 от Февраль 24, 2011, 13:48 Назначение программы: перехватывает сообщения, смотрит адрес отправителя, лезет в БД и смотрит адреса назначения и перенаправляет сообщение туда.
Есть 3 таблицы в бд mysql: 1-я: id_sender, адрес отправителя. 2-я: id_receiver, адрес назначения, ip адрес. 3-я: id_sender,id_receiver (так как отношение - многие ко многим) Есть клиент к БД, использую QSqlRelationalTableModel, в QTableView отображаю (адрес_отправителя, адрес_назначения). Использую стандартный QSqlRelationalDelegate: ui->tableView->setItemDelegate(new QSqlRelationalDelegate(ui->tableView)); Все нормально работает: добавляет, удаляет элементы из QTableView и из бд. Задача: Пусть в 3-ей таблице есть такие значения: 1 а 1 б 2 а 3 в Поскольку, использую делегат, то при добавлении новой строки, я выбираю значения из выпадающих списков. Пусть в 1-м поле я задал значение "2". Для второго поля хочу чтобы выпадал не весь список а,б,в (поскольку строка "2 а" уже есть, а только б,в). Вопрос: Я должен наследовать QSqlRelationalDelegate и перегружать какую функцию, чтоб выпадал не весь список, а только нужная часть. P.S. В самом делегате нужный запрос к БД я составлю. Вопрос только что перегружать? |