Вопрос по DBGrid

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

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

Вопрос по DBGrid

Сообщение grigoreo » 17.03.2009 15:42:59

Может кто знает как лудше поступить, база данных SQL(Postgre) в формате UTF8, к примеру содержимое поля максимально 30 символов, если делаю в СУБД поле varchar(30) то при отображении виснет но ширину колонки в гриде отрисовывает по длине правильно, имперически нашел что если увеличить размер поле в 2 раза и сделать varchar(60), зависания исчезают но тогда в гриде колонка длинная и в ней много пустого места после символов, интересует все таки как сделать чтобы инициализация длин колонок в пикселях в автомате была покомпактнее и было меньше пустого места, т.к просмоторщик на разные типы таблиц и я не могу предугадать содержимое каждой таблицы
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши

Re: Вопрос по DBGrid

Сообщение Logo » 17.03.2009 17:05:15

Вы с Zeos или TPQConnection? Для TPQConnection есть протез для устранения этой проблемы в Zeos -не пробовал, не знаю.
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Вопрос по DBGrid

Сообщение Mr.Smart » 17.03.2009 17:37:29

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

А вы учитываете, что в зависимотсти от языка в кодировки UTF-8 символы кодируются от 1 до 6 байт.
Для кириллицы одна буква кодируется двумя байтами!
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Вопрос по DBGrid

Сообщение grigoreo » 18.03.2009 11:40:01

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, на кой мне такие длиные пустые колонки
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши

Re: Вопрос по DBGrid

Сообщение Logo » 18.03.2009 12:19:12

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

Посмотрите в ветке вопрос по PostgreSQL, я по ошибке не туда бросил.
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 29

Рейтинг@Mail.ru