У меня есть небольшая проблема в Qt. У меня есть две таблицы, одна с products
, одна с categories
. Я хочу показать список продуктов в QTableView
. Ничего страшного. Также не сложно назначить отношение и отображаемое имя категории вместо id в одном столбце.QRelationalTable категория с отношением
Но, в categories
У меня есть внутреннее отношение, поэтому я могу сделать подкатегории. Это сделано очень просто, создав дополнительный столбец с parentId
.
И вот в чем проблема ... Как показать это отношение в QTableView
? Я имею в виду, вместо отображения только названия категории, что продукты принадлежат, он будет отображать все родительские категории также, например, таким образом:
Есть 3 категории:
- продуктов питания (без родителей)
- Фрукты (с родительским Food)
- Citrus (с родительскими фруктами)
продукт:
- Оранжевый цвет относится к категории Цитрусовые.
В TableView
в колонке Category
она должна быть:
Продукты/Фрукты/Цитрусовый
или
Продовольственные> Fruits-> Цитрусовый
или что-то в этом роде ...
Как это сделать? Подкласс QRelationalTableModel
и сделать дополнительное отношение? Или сделать делегата для этой колонки? Или, может быть, оба?
Какие RDMS вы используете? Кроме того, ваша реализация heirachy может быть ловушкой эффективности - это метод «по умолчанию», есть лучшие способы. –
В настоящее время я использую только SQLite, в будущем я планирую также расширить это приложение для использования MySQL. Каковы лучшие способы сделать это? И почему вы называете это «лучше»? – GwynBleidD
Посмотрите на http://www.slideshare.net/billkarwin/sql-antipatterns-strike-back?src=embed. Бит, который вам нужен, начинается с слайда 48. –