Как мне создать маску для числового поля? |
Здравствуйте, гость ( Вход | Регистрация )
Как мне создать маску для числового поля? |
mva |
13.9.2009, 16:42
Сообщение
#1
|
Участник Группа: Участник Сообщений: 104 Регистрация: 15.3.2009 Из: Киров Пользователь №: 615 Спасибо сказали: 3 раз(а) Репутация: 0 |
Доброго времени суток всем! Поздравляю всех с Днем Программиста!
В моей БД на PostgreSQL в некоторых таблицах есть числовые поля типа NUMERIC(10, 3). Ну или NUMERIC(12, 2), например. При использовании QTableView они нормально отображаются, с тремя или двумя знаками после запятой. Но при редактировании этих полей не работает маска ввода, т.е. в поле можно вводить все что угодно. Хотелось бы, чтобы пользователь сразу видел маску ввода чисел. Проблема в том, что я не знаю, где эту маску можно получить. Фунция QSqlField::precision(), на которую я рассчитывал, возвращает -1. Кто-нибудь может помочь? |
|
|
abra |
14.9.2009, 11:23
Сообщение
#2
|
Студент Группа: Участник Сообщений: 68 Регистрация: 12.1.2009 Пользователь №: 485 Спасибо сказали: 11 раз(а) Репутация: 2 |
P.S так же можешь попробовать сделать так же,как делает Постгря.Получать типы полей(по запросу.У тебя выведутся все поля,примерно в таком в форме скажем 5,2;3,1; ну короче нумерики),и ты тогда автоматом ставишь запятую там,где это надо.Получаешь первый символ,отступаешь в поле данное кол-во символов,ставишь запятую(отделение целой от дробной).
Затем складываешь два числа(целой и дробной части,и +1(запятая),и получаешь размерность поля. setLength(и устанавливаешь). И вот твоя маска готова.Алгоритм один,а использовать можно для всех полей... |
|
|
Текстовая версия | Сейчас: 15.1.2025, 3:16 |