Вопрос по DBGrid

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
grigoreo
постоялец
Сообщения: 195
Зарегистрирован: 10.03.2009 14:43:43
Откуда: С нашей Раши

Вопрос по DBGrid

Сообщение grigoreo »

Может кто знает как лудше поступить, база данных SQL(Postgre) в формате UTF8, к примеру содержимое поля максимально 30 символов, если делаю в СУБД поле varchar(30) то при отображении виснет но ширину колонки в гриде отрисовывает по длине правильно, имперически нашел что если увеличить размер поле в 2 раза и сделать varchar(60), зависания исчезают но тогда в гриде колонка длинная и в ней много пустого места после символов, интересует все таки как сделать чтобы инициализация длин колонок в пикселях в автомате была покомпактнее и было меньше пустого места, т.к просмоторщик на разные типы таблиц и я не могу предугадать содержимое каждой таблицы
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

Вы с Zeos или TPQConnection? Для TPQConnection есть протез для устранения этой проблемы в Zeos -не пробовал, не знаю.
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

grigoreo писал(а):... база данных SQL(Postgre) в формате UTF8, к примеру содержимое поля максимально 30 символов, если делаю в СУБД поле varchar(30) то при отображении виснет но ширину колонки в гриде отрисовывает по длине правильно, имперически нашел что если увеличить размер поле в 2 раза и сделать varchar(60) ...

А вы учитываете, что в зависимотсти от языка в кодировки UTF-8 символы кодируются от 1 до 6 байт.
Для кириллицы одна буква кодируется двумя байтами!
Аватара пользователя
grigoreo
постоялец
Сообщения: 195
Зарегистрирован: 10.03.2009 14:43:43
Откуда: С нашей Раши

Сообщение grigoreo »

Logo писал(а):Вы с Zeos или TPQConnection? Для TPQConnection есть протез для устранения этой проблемы в Zeos -не пробовал, не знаю.


В стандартном TPConnection , если есть протез как нить поделитесь им

Добавлено спустя 1 минуту 24 секунды:
Mr.Smart писал(а):
grigoreo писал(а):... база данных SQL(Postgre) в формате UTF8, к примеру содержимое поля максимально 30 символов, если делаю в СУБД поле varchar(30) то при отображении виснет но ширину колонки в гриде отрисовывает по длине правильно, имперически нашел что если увеличить размер поле в 2 раза и сделать varchar(60) ...

А вы учитываете, что в зависимотсти от языка в кодировки UTF-8 символы кодируются от 1 до 6 байт.
Для кириллицы одна буква кодируется двумя байтами!


Это я то понимаю что для руских букв надо 2 символа при кодировании, тогда почему это не понимает DBGrid, на кой мне такие длиные пустые колонки
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

grigoreo писал(а):
В стандартном TPConnection , если есть протез как нить поделитесь им

Посмотрите в ветке вопрос по PostgreSQL, я по ошибке не туда бросил.
Ответить