link5934 link5935 link5936 link5937 link5938 link5939 link5940 link5941 link5942 link5943 link5944 link5945 link5946 link5947 link5948 link5949 link5950 link5951 link5952 link5953 link5954 link5955 link5956 link5957 link5958 link5959 link5960 link5961 link5962 link5963 link5964 link5965 link5966 link5967 link5968 link5969 link5970 link5971 link5972 link5973 link5974 link5975 link5976 link5977 link5978 link5979 link5980 link5981 link5982 link5983 link5984 link5985 link5986 link5987 link5988 link5989 link5990 link5991 link5992 link5993 link5994 link5995 link5996 link5997 link5998 link5999 link6000 link6001 link6002 link6003 link6004 link6005 link6006 link6007 link6008 link6009 link6010 link6011 link6012 link6013 link6014 link6015 link6016 link6017 link6018 link6019 link6020 link6021 link6022 link6023 link6024 link6025 link6026 link6027 link6028 link6029 link6030 link6031 link6032 link6033 link6034 link6035 link6036 link6037 link6038 link6039 link6040 link6041 link6042 link6043 link6044 link6045 link6046 link6047 link6048 link6049 link6050 link6051 link6052 link6053 link6054 link6055 link6056 link6057 link6058 link6059 link6060 link6061 link6062 link6063 link6064 link6065 link6066 link6067 link6068 link6069 link6070 link6071
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