Russian Qt Forum

Qt => Вопросы новичков => Тема начата: qwyllum от Май 14, 2013, 14:03



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

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

Заранее огромное спасибо


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


Название: Re: Редактирование таблицы
Отправлено: qwyllum от Май 14, 2013, 15:40
1. Брать их из таблицы - тут загвоздка в том, что не все поля отображаются в таблице, например id, по которому потом будет редактироваться запись в БД.
Никто не мешает грузить в таблицу все поля и прятать через QTableView::setColumnHidden() некоторые.
гениально) спасибо Вам большое)