QTableWidget, редактирование по месту |
Здравствуйте, гость ( Вход | Регистрация )
QTableWidget, редактирование по месту |
rich |
13.3.2008, 22:16
Сообщение
#1
|
Участник Группа: Участник Сообщений: 123 Регистрация: 1.3.2008 Пользователь №: 109 Спасибо сказали: 6 раз(а) Репутация: 0 |
т.е нужно чтобы изменения внесенные пользователем в ячейках сохранялись в базу.как оптимальней сделать?
Сообщение отредактировал Litkevich Yuriy - 2.2.2009, 13:38
Причина редактирования: уточнил название темы
|
|
|
Litkevich Yuriy |
13.3.2008, 22:23
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Вместо QTableWidget использовать QTableView + QSqlTableModel, смотри пример
%QTDIR%\examples\sql\cachedtable для модели выбираешь стратегию
т.е. когда пользователь нажмет кнопку Submit тогда все изменения отправятся в БД Сообщение отредактировал Litkevich Yuriy - 13.3.2008, 22:25 |
|
|
rich |
13.3.2008, 22:30
Сообщение
#3
|
Участник Группа: Участник Сообщений: 123 Регистрация: 1.3.2008 Пользователь №: 109 Спасибо сказали: 6 раз(а) Репутация: 0 |
а только с QTableWidge не пройдет?
|
|
|
Litkevich Yuriy |
13.3.2008, 22:48
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
много ручной работы, да и что ты вцепился в QTableWidget, для твоей задачи удобнее использовать представление, а не просто таблицу
|
|
|
rich |
13.3.2008, 22:56
Сообщение
#5
|
Участник Группа: Участник Сообщений: 123 Регистрация: 1.3.2008 Пользователь №: 109 Спасибо сказали: 6 раз(а) Репутация: 0 |
ясно.переделывать нехотелось
|
|
|
Litkevich Yuriy |
14.3.2008, 1:18
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Да переделок мимнимум, возьми готовые файлы:
tableeditor.h tableeditor.cpp и используй вместо таблицы, т.е. вместо:
сделаешь так:
Предвари это дело следующими строчками соединения с БД:
где: QODBC - имя драйвера, MyBD - имя БД. |
|
|
rich |
14.3.2008, 5:31
Сообщение
#7
|
Участник Группа: Участник Сообщений: 123 Регистрация: 1.3.2008 Пользователь №: 109 Спасибо сказали: 6 раз(а) Репутация: 0 |
дело ещё в том что у меня таблица оч динамична.кол-во колонок зависит от одной табл БД,строк-от 2хдругих,данные же из другой табл БД..
|
|
|
Litkevich Yuriy |
14.3.2008, 5:58
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
а можешь свой запрос показать, я представить немогу как можно влиять на колонки и строки одновременно
|
|
|
rich |
14.3.2008, 7:08
Сообщение
#9
|
Участник Группа: Участник Сообщений: 123 Регистрация: 1.3.2008 Пользователь №: 109 Спасибо сказали: 6 раз(а) Репутация: 0 |
Одним запросом тоже не знаю как.Попробую на словах.сейчас в дороге.выбираю из бд нужное значение кол-ва и по нужной формуле генерю колонки:setColumnCount(3+2n/*например*/).строчки:замысел из одной таблицы первое наименование,под ним всё что к нему относится из второй,второе значение первой табл.,под ним всё что к нему относится из2.дерево вобщем по двум таблицам.по ходу генерю строчки и втыкаю в них наименования.коряво наверно.надеюсь понятно изложил.код только вечером могу выложить.
|
|
|
Litkevich Yuriy |
14.3.2008, 7:34
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
что-то странная у тебя структура данных, и показать такую пользователю? а у него голова не отвалится.
и как ты предпологаешь сохранять данные при таком раскладе, целостность связей сохранять? |
|
|
Текстовая версия | Сейчас: 29.3.2024, 8:36 |