TDBGridEh - отображение в две и более строк...
TDBGridEh - отображение в две и более строк...
Здравствуйте уважаемые ГУРУ!
У меня ща такая трабла:
в сетке(TDBGridEh) есть поле фиксированного размера, и там иногда появляются данные больше этого размера, вот мне нужно, чтобы если в очередной строке как только данные превышают размер колонки - данная строка сетки переводила бы следующую порцию данных на вторую строчку ячейки и т.д. Я изменял свойство RowHeight или RowLines, но факт то, что эти функции действуют на все строки сетки, да и к тому же это некрасиво... А можно ли сделать как я говорю?
Например такое свойство есть в ФастРепорте, типа MaxHeight и Stretch.
У меня ща такая трабла:
в сетке(TDBGridEh) есть поле фиксированного размера, и там иногда появляются данные больше этого размера, вот мне нужно, чтобы если в очередной строке как только данные превышают размер колонки - данная строка сетки переводила бы следующую порцию данных на вторую строчку ячейки и т.д. Я изменял свойство RowHeight или RowLines, но факт то, что эти функции действуют на все строки сетки, да и к тому же это некрасиво... А можно ли сделать как я говорю?
Например такое свойство есть в ФастРепорте, типа MaxHeight и Stretch.
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Ищется легко в любом поисковике, но правда не знаю сколько он стоит, в наборе компонент есть 3 грида, мне попадалась демо версия набора с частью исходников и скомпиленными BPL в любом случае все работало и я имел возможность проверить возможность вывода строк разной ширины, а именно:
В компоненте TosAdvDBGrid есть свойство RowOptions.ResizeRows, значением которого необходимо поставить rrSingle - после этого пользователь может раздвигать строки отдельно, т.е. меняется ширина каждой отдельной строки - а остальные остаются на месте, значит наверное можно в соответствующем методе типа OnPaintCell или каком то похожем проверять длину текста в ячейке и в случае необходимости увеличивать высоту. Как я понял это и требуется.
Надо попросить автора EhLib такую созможность добавить, сейчас у него на сайте вроде как группа поддержки даже организована - для всех желающих из СНГ, а недавно даже версия немного обновилась, если несколько человек напишет он наверняка сделает...
В компоненте TosAdvDBGrid есть свойство RowOptions.ResizeRows, значением которого необходимо поставить rrSingle - после этого пользователь может раздвигать строки отдельно, т.е. меняется ширина каждой отдельной строки - а остальные остаются на месте, значит наверное можно в соответствующем методе типа OnPaintCell или каком то похожем проверять длину текста в ячейке и в случае необходимости увеличивать высоту. Как я понял это и требуется.
Надо попросить автора EhLib такую созможность добавить, сейчас у него на сайте вроде как группа поддержки даже организована - для всех желающих из СНГ, а недавно даже версия немного обновилась, если несколько человек напишет он наверняка сделает...
Цитата из справки к EhLib 4.1:
"Возможности, не поддерживаемые текущей версией TDBGridEh .
Данная версия TDBGridEh не поддерживает следующие возможности:
TDBGridEh не может иметь индивидуальную высоту строк для каждой строки данных.
TDBGridEh не может объединять ячейки данных горизонтально и вертикально."
Так что Большаков об этих фичах в курсе и теоретически когда-нибудь их сделает...
"Возможности, не поддерживаемые текущей версией TDBGridEh .
Данная версия TDBGridEh не поддерживает следующие возможности:
TDBGridEh не может иметь индивидуальную высоту строк для каждой строки данных.
TDBGridEh не может объединять ячейки данных горизонтально и вертикально."
Так что Большаков об этих фичах в курсе и теоретически когда-нибудь их сделает...