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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Редактирование таблицы  (Прочитано 1610 раз)
qwyllum
Гость
« : Май 14, 2013, 14:03 »

Доброго времени суток! С-но возник вопрос - у меня есть TableView, который заполняется данными с QSqlQueryModel. Данные из нескольких таблиц БД. По заданию необходимо, чтобы при нажатии на кнопку "Редактировать" открывался диалог редактирования выбранной в таблице записи. Это я вроде реализовал. Остался вопрос, как получать эти данные.
1. Брать их из таблицы - тут загвоздка в том, что не все поля отображаются в таблице, например id, по которому потом будет редактироваться запись в БД.
2. Создать список и держать его в памяти. Если пользователь, например, выбирает 5-ю запись в таблице, находим 5 запись в списке и с помощью этих данных заполняем форму диалога. - Сейчас пока так и делаю. Так проще, однако необходимо вводить дополнительный класс, особенно это геморно, когда таких таблиц будет штук 20. Еще проблема в том, что при сортировке таблицы список и данные таблицы перестают совпадать.

Хотелось спросить, как правильнее решить эту проблему, с учетом того, что количество таблиц может со временем возрасти? Нужно именно не просто редактирование таблицы, а вывод диалога с полями.

Заранее огромное спасибо
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Май 14, 2013, 14:30 »

1. Брать их из таблицы - тут загвоздка в том, что не все поля отображаются в таблице, например id, по которому потом будет редактироваться запись в БД.
Никто не мешает грузить в таблицу все поля и прятать через QTableView::setColumnHidden() некоторые.
Записан

Qt 5.11/4.8.7 (X11/Win)
qwyllum
Гость
« Ответ #2 : Май 14, 2013, 15:40 »

1. Брать их из таблицы - тут загвоздка в том, что не все поля отображаются в таблице, например id, по которому потом будет редактироваться запись в БД.
Никто не мешает грузить в таблицу все поля и прятать через QTableView::setColumnHidden() некоторые.
гениально) спасибо Вам большое)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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