C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Отображение ячейки в DBGridEh'e, Как сделать "0000000001" вместо "1"
zeidel
Отправлено: 24.02.2007, 22:46


Ученик-кочегар

Группа: Участник
Сообщений: 9



У меня MySQL, соединяюсь через BDE (ODBC).
Делаю запрос Query "SELECT ..., NOMER, ... FROM ... WHERE ..."
Поле NOMER — это auto_increment (т.е. INTEGER)
Как сделать, чтобы в колонке DBGridEh'a числа отображались в виде десяти цифр, а вместо недостающих были нули?
Т.е. чтобы было не
CODE

... | NOMER | ...
-------------------
... |   381    | ...
... |    45     | ...
... |  21675 | ...

а
CODE

... |     NOMER      | ...
----------------------
... | 0000000381 | ...
... | 0000000045 | ...
... | 0000021675 | ...

Это чрезвычайно важно, чтобы так отображалось (не спрашивайте почему)
На всяких других компонентах я это сделал просто — написал нужную функцию zero(), а далее
Label1->Caption = zero(Query1->FieldByName("NOMER")->AsString);
и у меня 0000000381 в лабеле
А как быть c DBGridEh'ом?
olegenty
Отправлено: 25.02.2007, 08:31


Ветеран

Группа: Модератор
Сообщений: 2412



1. Можно поиграться с DisplayFormat интересующего тебя поля.
2. Можно создать вычисляемое поле и загнать туда значение с помощью, например, FormatFloat.
zeidel
Отправлено: 26.02.2007, 02:05


Ученик-кочегар

Группа: Участник
Сообщений: 9



Слушай! Гигантттское спасибо! smile.gif
И всего-то нужно было в DisplayFormat написать 0000000000 wink.gif
А то я уже начал подумывать о создании нового поля в БД... и прочих ужасах...

Вернуться в Работа с базами данных в C++Builder