Redonly DBGrid

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

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

Redonly DBGrid

Сообщение hovadur » 18.12.2013 16:41:57

Привет.
У меня есть DBGrid только для чтения. Как я могу копировать текст оттуда? Ctrl-C и правая кнопка мыши не помогают :). В Delphi, если ставишь на DBGrid readonly, то можно все равно выделять ячейку и копировать ее, но lazarus почему-то не выделяет ячейку. Может это баг? или я чего недопонимаю? и нужно всего лишь поставить какую-нибудь опцию?
hovadur
постоялец
 
Сообщения: 116
Зарегистрирован: 31.01.2013 15:50:41

Re: Redonly DBGrid

Сообщение hovadur » 23.12.2013 08:45:05

Неужели ни у кого не возникала такая проблема? Тогда подскажите, пожалуйста, какую-нибудь другую стороннюю разработку, где можно копировать ячейки в условиях readonly DBGrid.
hovadur
постоялец
 
Сообщения: 116
Зарегистрирован: 31.01.2013 15:50:41

Re: Redonly DBGrid

Сообщение zoltanleo » 27.12.2013 11:58:41

Учитывая, что DBGrid "не содержит данные", а берет их из набора данных (датасет), то и копировать их надо оттуда. Т.е., вам надо проанализировать, какому полю какой записи соответствует выделенная в гриде ячейка.
тынц
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Re: Redonly DBGrid

Сообщение hovadur » 27.12.2013 15:57:53

zoltanleo писал(а):Учитывая, что DBGrid "не содержит данные", а берет их из набора данных (датасет), то и копировать их надо оттуда.

А! Вот таким образом все понимают!
Нет, мне надо мышкой копировать данные или с помощью клавиатуры Ctrl-C. Т.е. выделять данные с помощью мышки и копировать их. Но лазарусе, если дбгрид только для чтения, не позволяет выделить ячейку и скопировать данные. А в делфи можно.
Но вопрос я решил уже, путем модификации исходников лазаруса. Я послал патч, http://bugs.freepascal.org/view.php?id=25451 но до сих пор нет ответа. Пожалуй, мне теперь понятно, что другие люди не понимают в моем вопросе, попробую переформулировать сообщение патча :)
hovadur
постоялец
 
Сообщения: 116
Зарегистрирован: 31.01.2013 15:50:41

Re: Redonly DBGrid

Сообщение zoltanleo » 27.12.2013 16:07:51

Каким образом вы перевели грид в состояние ReadOnly? Опцией самого грида?

А если в датасорсе выставить опцию AutoEdit в False? Или чтение данных повесить на читающую транзакцию?(если это позволяют компоненты доступа)
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Re: Redonly DBGrid

Сообщение hovadur » 27.12.2013 16:29:35

zoltanleo писал(а):Каким образом вы перевели грид в состояние ReadOnly? Опцией самого грида?

Да. Но если на отдельную колонку поставить readonly, то все равно выделять ячейку нельзя.
zoltanleo писал(а):А если в датасорсе выставить опцию AutoEdit в False? Или чтение данных повесить на читающую транзакцию?(если это позволяют компоненты доступа)

Причем здесь компоненты доступа (я пользуюсь ZEOS)? Хотя я попробовал поставить AutoEdit в false в датасорсе, но все равно текст нельзя скопировать с помощью мышки.
hovadur
постоялец
 
Сообщения: 116
Зарегистрирован: 31.01.2013 15:50:41

Re: Redonly DBGrid

Сообщение zoltanleo » 27.12.2013 17:00:30

hovadur писал(а):Причем здесь компоненты доступа (я пользуюсь ZEOS)?


стандартный КодТифоновский грид

Изображение == копипаст ==> Изображение

UIB, Firebird, ReadOnly транзакция
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Re: Redonly DBGrid

Сообщение hovadur » 27.12.2013 17:18:42

Спасибо! Я понял ход твоих гениальных мыслей.

Добавлено спустя 20 минут 48 секунд:
AutoEdit := False помог. На тестовом проекте, я забыл выключить ReadOnly у DBGrid'а.
hovadur
постоялец
 
Сообщения: 116
Зарегистрирован: 31.01.2013 15:50:41


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru