Russian Qt Forum
Ноябрь 24, 2024, 02:51
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Model-View (MV)
>
возможно ли такое сделать?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: возможно ли такое сделать? (Прочитано 5702 раз)
sk8ter
Гость
возможно ли такое сделать?
«
:
Август 10, 2009, 17:01 »
Я впервые делаю на Qt подобное, в форуме поискал - не нашел ответ на свой вопрос...
В общем есть таблица с колонками: Услуга, Подуслуга, количество, стоимость за ед., сумма
Услуг около 30, в каждой услуге - свои названия подуслуг со своей ценой (их количество варьируется)
Можно ли сделать так, чтобы при щелчке на конкретной ячейке по услуге выпадал их список, выбрав нужную услугу -> загружались из таблицы базы данных полуслуги (в соседнем столбце, в других строках ничего не менялось), тоже выпадающий список.
+ Это все надо будет сохранять как заказ в базу данных
Если можно, то что почитать, есть ли пример...
Записан
sk8ter
Гость
Re: возможно ли такое сделать?
«
Ответ #1 :
Август 10, 2009, 19:14 »
Т.е. чтобы поведение содержимого выпадающего списка зависело от содержимого соседней ячейки.
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: возможно ли такое сделать?
«
Ответ #2 :
Август 10, 2009, 19:26 »
свою модель делать надо
Записан
Юра.
sk8ter
Гость
Re: возможно ли такое сделать?
«
Ответ #3 :
Август 10, 2009, 19:34 »
Цитата: sk8ter от Август 10, 2009, 17:01
... что почитать, есть ли пример...
Записан
crossly
Гость
Re: возможно ли такое сделать?
«
Ответ #4 :
Август 12, 2009, 17:50 »
а чем не устроит QSqlRelationalTableModel...??
Записан
sk8ter
Гость
Re: возможно ли такое сделать?
«
Ответ #5 :
Август 17, 2009, 18:24 »
Оказывается кто-то уже пробовал подобное сделать:
http://www.prog.org.ru/topic_7901_0.html
Пока работаю над этим
Только мне не надо показывать сохраненную таблицу - пользователь сам добавляет новые строки, редактирует их , а потом эту таблицу нужно сохранить ("заказ").
Как это делать, создавать Table Widget и самому в каждую ячейку записывать даные, и обрабатывать собятия, чтобы отредактировать? А потом также и сохранять..? или все-таки представление с этой задачей справится?
Записан
LeX
Гость
Re: возможно ли такое сделать?
«
Ответ #6 :
Август 31, 2009, 09:42 »
Цитата: sk8ter от Август 17, 2009, 18:24
Только мне не надо показывать сохраненную таблицу - пользователь сам добавляет новые строки, редактирует их , а потом эту таблицу нужно сохранить ("заказ").
Как это делать, создавать Table Widget и самому в каждую ячейку записывать даные, и обрабатывать собятия, чтобы отредактировать? А потом также и сохранять..? или все-таки представление с этой задачей справится?
На сколько я тебя понял, ты хочешь в одной таблице выбирать услуги (т.е. формировать строку) и кидать эту строку в новую таблицу (заказ), так?
Если да так это просто:
Ну сформируй заказ, и сохраняй его в другой таблице по требуемому событию, в чём проблема? В БД создай, предварительно, нужную тебе таблицу (для сохранения заказа) и всё.
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: возможно ли такое сделать?
«
Ответ #7 :
Октябрь 18, 2009, 01:49 »
Цитировать
Т.е. чтобы поведение содержимого выпадающего списка зависело от содержимого соседней ячейки.
я делал такое следующим способом:
делается делегат для подуслуги который должен знать номер колонки с услугой - далее соотв. запрос для выборки из БД нужных подуслуг - никаких проблем, единственное после создания основной модели - на этапе создания делегатов нашему делегату надо сделать так:
QSqlRecord rec = model.record();
PodUslugaDelegat.setUslugaColumnNum( rec.indexOf( "НАЗВАНИЕ_СТОЛБЦА_УСЛУГИ_В_ТАВБЛИЦЕ_БД" ) );
говорим делегату где колонка с услугой - а он в момент создания элемента редактирования делегата ( createEditor ) берет из своего индекса строку а колонку ту самую переданную и запомненную! и все!
«
Последнее редактирование: Октябрь 18, 2009, 01:51 от break
»
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...