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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqlTableModel  (Прочитано 3148 раз)
aliks-os
Гость
« : Март 30, 2011, 00:29 »

Есть QTableView который подключается к QSqlTableModel. Требуется на определенных типах полей (BLOB, TEXT, MEDIUM TEXT...) использовать свой делегат. БД - MySQL. Как можно определить тип выбранного поля.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Март 30, 2011, 07:22 »

Ты получаешь данные через QVariant, у которого есть метод Type QVariant::type () const.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
aliks-os
Гость
« Ответ #2 : Март 30, 2011, 09:32 »

Ты получаешь данные через QVariant, у которого есть метод Type QVariant::type () const.

не пойдет. Сам уже докопался. Сделал так:
Код:
    static inline QString getNameMYSQL(int t) {
        switch (t) {
        case 0: return "decimal";
        case 1: return "tiny";
        case 2: return "short";
        case 3: return "integer";
        case 4: return "float";
        case 5: return "double";
        case 6: return "null";
        case 7: return "timestamp";
        case 8: return "longlong";
        case 9: return "int24";
        case 10: return "date";
        case 11: return "time";
        case 12: return "datetime";
        case 13: return "year";
        case 14: return "newdate";
        case 247: return "enum";
        case 248: return "set";
        case 249: return "tinytext";
        case 250: return "mediumtext";
        case 251: return "longtext";
        case 252: return "text";
        case 253: return "varchar";
        case 254: return "char";

        default:
            return QString("Type %1").arg(t);
        }
    }

getNameMYSQL(model->record(0).field(col).typeID());
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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