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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqlRelationalTableModel и самописный делегат  (Прочитано 1895 раз)
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. В самом делегате нужный запрос к БД я составлю. Вопрос только что перегружать?
« Последнее редактирование: Февраль 25, 2011, 09:51 от integer005 » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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