Вопросы по примеру staffmanager из книги Бланшет "Qt 4. Программирование GUI на C++" |
Здравствуйте, гость ( Вход | Регистрация )
Вопросы по примеру staffmanager из книги Бланшет "Qt 4. Программирование GUI на C++" |
Steklova Olga |
22.5.2013, 13:43
Сообщение
#1
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
Добрый день
Запускаю пример staffmanager из главы 13 книги Бланшет "Qt 4. Программирование GUI на C++", изд.2. Хочу добавить в БД новый Department и Employees для этого нового Department. Нажимаю кнопку "Add Dept", в табл Departments появляется пустая строка, помеченная "*", ввожу данные в эту строку. А дальше что делать? Или код этого примера не позволяет это сделать? Добавлено 22.05.2013 16:50 При добавлении данных предполагаю, что результат добавления должен быть виден на экране и вноситься в БД. А, запуская пример, я этого не вижу. Или этот пример не дописан в книге в части редактирования таблицы Departments ? Сообщение отредактировал Steklova Olga - 22.5.2013, 15:51 |
|
|
Анна |
31.5.2013, 12:13
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 276 Регистрация: 22.5.2008 Из: Зеленоград Пользователь №: 181 Спасибо сказали: 30 раз(а) Репутация: 4 |
Я думаю, чтобы не мучиться с обработкой каждой мелочи, делая редактирование таблиц БД прямо в TableView, взять и сделать TableView нередактируемым, сделать разные контролы для полей таблицы, кнопки подтверждения и отката изменений в текущей записи, добавления и удаления записи, при нажатии кнопок обработать разные ситуации. Так у меня будет меньше проблем? Для оператора все станет яснее? Как вы считаете? Да. |
|
|
Steklova Olga |
31.5.2013, 13:01
Сообщение
#3
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
Да. хорошосделать разные контролы для полей таблицы если эти контролы подключить к QDataWidgetMapper, у которого установить (это я смотрю пример chap18/db04 из книги Земскова "Qt4 на примерах" )то, запуская пример, вижу, что этот автоматический submit mapper'а тоже работает кривовато... Т.е., правильно я понимаю?, что при QDataWidgetMapper::AutoSubmit, если оператор установит фокус на какой-то контрол маппера, откорректирует в нем значение, то это значение автоматически засабмитится в маппер, только когда оператор установит фокус на другой контрол маппера. К тому же, от момента корректировки значения до этой смены фокуса оператор не должен менять текущую строку в модели. Так, может, тогда лучше сделать ручной сабмит не только модели но и мапперу? И по кнопке подтверждения изменения текущей записи вручную сабмитить сначала маппер, а потом модель?
|
|
|
Текстовая версия | Сейчас: 5.12.2024, 0:44 |