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

 
DBGrid и MEMO
shatki
Отправлено: 25.05.2005, 09:33


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

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



Как заставить отображаться Memo поле в DBGrid?
Чтобы его (memo поле) можно было редактировать наравне с остальными записями непосредственно в DBGrid.

Заранее благодарю за ответ!
AVC
Отправлено: 25.05.2005, 13:11


Ветеран

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



DBGrid показывает ровно 1 строку текста, так что придется мудрить что то своё. Может проще повозиться с DBCtrlGrid и иже с ним.
olegenty
Отправлено: 26.05.2005, 08:42


Ветеран

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



ну не соглашусь, TDBGridEh позволяет нормальное редактирование Memo-полей в гриде, равно как и произвольный выбор высоты ячейки в строках. Т.е. не вопрос сделать все ячейки высотой, скажем, в 5 символов, и наслаждаться...
AVC
Отправлено: 26.05.2005, 08:54


Ветеран

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



"ну не соглашусь"
olegenty
В вопросе было "непосредственно в DBGrid" я и отвечал по поводу TDBGrid, а TDBGridEh это совершенно другой компонент, даже не наследник TCustomDBGrid (максимальный общий предок TCustomGrid).

И второе — лично мне не нравится из-за одного поля делать высокие строки. И на экране меньше помещается и редактировать по прежнему не удобно. Что такое 3-5 строк для настоящего memo...

Отредактировано AVC — 26/05/2005, 07:56
shatki
Отправлено: 26.05.2005, 09:00


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

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



Мне всё равно какой компонент использовать. Можно и TDBGridEh. Лишь бы реализовать задуманное! Спасибо за подсказку!
olegenty
Отправлено: 26.05.2005, 09:04


Ветеран

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



я спрашивал у Дмитрия Большакова, и он ответил, что в последующих релизах (не самых ближних), высота ячейки будет переменной, в зависимости от содержания. А-ля таблица Word.

Да, я согласен, что для полноценных мемо это (текущее состояние) фигово. сам-то пока TDBMemo пользуюсь скрепя зубами.
Gedeon
Отправлено: 26.05.2005, 09:15


Ветеран

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



Если отображение не критично, т.е. достаточно только начала текста, то я в таком случае для редактирования делал видимым TDBMemo до этого лежащее на форме и невидимое и ставил ему координаты верхнего левого угла ячейки.
AVC
Отправлено: 26.05.2005, 09:17


Ветеран

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



QUOTE (olegenty @ 26/05/2005, 08:04)

я спрашивал у Дмитрия Большакова, и он ответил, что в последующих релизах (не самых ближних), высота ячейки будет переменной, в зависимости от содержания. А-ля таблица Word.

Да, я согласен, что для полноценных мемо это (текущее состояние) фигово. сам-то пока TDBMemo пользуюсь скрепя зубами.

Очень НЕ люблю вариант с переменной высотой строки. Бывают мемо в несколько сотен строк и более. Сейчас использую "подгридник" и отдельную форму. Но все более подумываю о "мгновенном" окне при старте редактирования (а как для просмотра?) прямо под текущей клеткой окно в стиле DropDown — без border'ов.
coala
Отправлено: 29.06.2005, 10:51


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

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



А не слабо положить на форму TDBMemo, связать его с соответствующим полем и все...
Или есть некая неописанная специфика ? sad.gif
AVC
Отправлено: 29.06.2005, 13:59


Ветеран

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



Упоминаемый мной "подгридник" это и есть DBMemo связанный с полями так: курсор сетки не на мемо — поле df, на мемо — поле под курсором.

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