| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > QSqlQueryModel дополнительная колонка. |
| Автор: dix75 21.8.2012, 15:28 | ||
| Добрый день! Имеется следующий кусок кода.
Мне необходимо выводить в первой колонке QCheckBox который выглядит одинаково для всех ячеек и не зависит от Базы данных Как это сделать? Переопределение виртуальных методов из QSqlQueryModel позволит это сделать или все-таки необходимо переопределять QAbstractTableModel? |
| Автор: math64 22.8.2012, 07:57 |
| Определяешь делегата для этой колонки. Он будет выводит CheckBox. Только откуда он будет брать данные поставить галочку или нет ? (например, можно в таблице задать дополнительное поле, где хранить эту информацию, а QSqlQueryModel спрятать его) Добавлено через 2 минуты QSqlQueryModel - это модель для таблицы. Зачем нужно дерево? |
| Автор: dix75 22.8.2012, 13:51 |
Всегда галочки будут не выбраны. Добавлено @ 13:52 Нет данных для этой колонки, они просто не нужны. С делегатом понятно, только для него нужны данные их нет. |
| Автор: dix75 22.8.2012, 14:07 |
| math64, Проще сказать, что мне нужно выводить данные не с 0 колонки, а с 1. А 0 оставить нетронутой |
| Автор: math64 22.8.2012, 14:25 | ||
Добавить колонку проще всего так:
+ делегатом заменять вывод колонки на нужный. посложнее - использовать прокси (придётся писать свой). |
| Автор: dix75 22.8.2012, 14:34 |
Это похоже на хак. и после определенного времени явно забудиться. |
| Автор: borisbn 23.8.2012, 11:26 |
Почему это ? Вполне себе нормальная и часто используемая конструкция |
| Автор: dix75 24.8.2012, 22:08 | ||
К тому же не рабочая |
| Автор: borisbn 25.8.2012, 09:50 |
| Возможно, твоя СУБД не понимает FALSE. Знамени его на 0 |
| Автор: math64 26.8.2012, 09:56 |
| Или NULL. Возможно нужно 'FALSE' - поскольку в колонке будет чекбокс, я и придложил булевский тип. |