Страница 1 из 1

TDBGridEh - отображение в две и более строк...

Добавлено: 16 май 2007, 22:40
AnryGTR
Здравствуйте уважаемые ГУРУ!
У меня ща такая трабла:
в сетке(TDBGridEh) есть поле фиксированного размера, и там иногда появляются данные больше этого размера, вот мне нужно, чтобы если в очередной строке как только данные превышают размер колонки - данная строка сетки переводила бы следующую порцию данных на вторую строчку ячейки и т.д. Я изменял свойство RowHeight или RowLines, но факт то, что эти функции действуют на все строки сетки, да и к тому же это некрасиво... :? А можно ли сделать как я говорю?
Например такое свойство есть в ФастРепорте, типа MaxHeight и Stretch.

Добавлено: 17 май 2007, 02:05
CyberMax
Нет.

Добавлено: 17 май 2007, 15:59
AnryGTR
Что совсем ничего в этом направлении нельзя сделать, типа OnDrawDataCell, или где-то там? Я ковырялся, но ничего так и не получается... :evil:

Добавлено: 17 май 2007, 16:32
WildSery
В стандартных гридах - никак. Слишком глубоко зарыто, надо половину прорисовки переделывать.
Такое есть в QuantumGrid, но он небесплатен. Да и слишком уж наворочен, изучать и изучать...

Добавлено: 18 май 2007, 07:41
Dimitry Sibiryakov
WildSery писал(а):В стандартных гридах - никак.
Я делал строки, подстраивающие высоту под данные в TDrawGrid.

Добавлено: 18 май 2007, 09:36
WildSery
Dimitry Sibiryakov писал(а):Я делал строки, подстраивающие высоту под данные в TDrawGrid.
Никто и не говорил, что это невозможно, только, что нет стандартных методов для этого.
Самому нарисовать-то что угодно можно ;)

Добавлено: 18 май 2007, 22:38
AnryGTR
Спасибо за ответы...
2 Dimitry Sibiryakov:
если можно - опиши как ты это делал? :)

Добавлено: 19 май 2007, 00:01
break
Можно сделать чтобы при наведении указателя мыши над такой ячейкой в виде Hint-а всплывал полный текст того что в ней не поместилось, а еще как то встречал компонент TopGrid в котором строки могли быть разной высоты - как раз тот случай..

Добавлено: 19 май 2007, 00:10
AnryGTR
TopGrid - что за зверь, где мона скачать, если что скинь ссылу!
Спасибо за ответ, но мне не пойдёт Хинт, так как данных много и оператор должен видеть их сразу, а так ему придётся на каждый тыкать... :?

Добавлено: 20 май 2007, 21:56
break
Ищется легко в любом поисковике, но правда не знаю сколько он стоит, в наборе компонент есть 3 грида, мне попадалась демо версия набора с частью исходников и скомпиленными BPL в любом случае все работало и я имел возможность проверить возможность вывода строк разной ширины, а именно:

В компоненте TosAdvDBGrid есть свойство RowOptions.ResizeRows, значением которого необходимо поставить rrSingle - после этого пользователь может раздвигать строки отдельно, т.е. меняется ширина каждой отдельной строки - а остальные остаются на месте, значит наверное можно в соответствующем методе типа OnPaintCell или каком то похожем проверять длину текста в ячейке и в случае необходимости увеличивать высоту. Как я понял это и требуется.

Надо попросить автора EhLib такую созможность добавить, сейчас у него на сайте вроде как группа поддержки даже организована - для всех желающих из СНГ, а недавно даже версия немного обновилась, если несколько человек напишет он наверняка сделает...

Добавлено: 21 май 2007, 02:14
CyberMax
Цитата из справки к EhLib 4.1:
"Возможности, не поддерживаемые текущей версией TDBGridEh .
Данная версия TDBGridEh не поддерживает следующие возможности:
TDBGridEh не может иметь индивидуальную высоту строк для каждой строки данных.
TDBGridEh не может объединять ячейки данных горизонтально и вертикально."

Так что Большаков об этих фичах в курсе и теоретически когда-нибудь их сделает...

Добавлено: 21 май 2007, 10:52
WildSery
TopGrid стоит $149, что тоже немало.
Хотя, по сравнению с $399 для QuantumSuite...
Если организация - требуй, это копейки. А из своего кармана, я бы сам нарисовал. К тому же, это время ещё мне бы и оплатили :)