Здравствуйте, гость ( Вход | Регистрация )
|
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. Кто-нибудь может помочь? |
|
|
|
![]() |
|
Litkevich Yuriy |
14.9.2009, 15:22
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(SABROG @ 14.9.2009, 19:15) Link - типу вводимых значений (int, float, char) Я понял, что по типу БД (NUMERIC(10,3) ...)
|
|
|
|
|
SABROG |
14.9.2009, 15:31
Сообщение
#3
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34
|
Цитата(Litkevich Yuriy @ 14.9.2009, 16:22) Link Цитата(SABROG @ 14.9.2009, 19:15) Link - типу вводимых значений (int, float, char) Я понял, что по типу БД (NUMERIC(10,3) ...)Кажись понял, это скалярный тип. Может быть через метод Type QVariant::type () const получится? --- Не прокатит. Qt под одну гребенку следующие типы приводит к double:
Сообщение отредактировал SABROG - 14.9.2009, 15:37 |
|
|
|
|
mva |
14.9.2009, 15:53
Сообщение
#4
|
|
Участник ![]() ![]() Группа: Участник Сообщений: 104 Регистрация: 15.3.2009 Из: Киров Пользователь №: 615 Спасибо сказали: 3 раз(а) Репутация: 0
|
Цитата(SABROG @ 14.9.2009, 16:31) Link Не прокатит. Qt под одну гребенку следующие типы приводит к double: Вот именно. Подсмотрел через сниффер. Оказывается, Qt ничего не знает о типе числовых полей. Она просто тупо отображает то, что получает от SQL сервера. Похоже, при открытии таблицы придется дополнительно делать запрос на сервер о более подробной информации о полях таблицы. |
|
|
|
mva Как мне создать маску для числового поля? 13.9.2009, 16:42
abra Укажи
9999999999,999
в inputMask 13.9.2009, 21:16
mva Можно конечно и так, но хотелось бы, чтобы маска н... 14.9.2009, 8:11
abra Цитата(mva @ 14.9.2009, 9:11) Можно конеч... 14.9.2009, 10:24
Litkevich Yuriy mva, попробуй подключится к БД с помощью демки sql... 14.9.2009, 9:08
mva Цитата(Litkevich Yuriy @ 14.9.2009, 10:08... 14.9.2009, 13:09
abra P.S так же можешь попробовать сделать так же,как д... 14.9.2009, 11:23
trdm Маску не извлекают, а вычисляют...
приблизительно... 14.9.2009, 13:14
mva Цитата(trdm @ 14.9.2009, 14:14) Маску не ... 14.9.2009, 15:04
SABROG Цитата(mva @ 14.9.2009, 16:04) Не совсем ... 14.9.2009, 15:15
mva Мне нужно генерировать маску для любого поля типа ... 14.9.2009, 15:30
mva Нашел вот такую функцию, с помощью которой можно б... 14.9.2009, 16:42
Litkevich Yuriy mva, Я думаю, троли для начала PostgreSQL поддержа... 14.9.2009, 18:33
abra Слушай.А не понимаю тебя человек....Я же написал т... 14.9.2009, 22:19
mva Цитата(abra @ 14.9.2009, 23:19) Слушай.А ... 15.9.2009, 9:48![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 14.12.2025, 21:59 |