Вопросы стыковки визуальных компонент (DataControls, EhGrid, VirtualTreeView, DevExpress и т.п.) с данными из БД.
Модераторы: kdv, CyberMax
-
AnryGTR
- Сообщения: 116
- Зарегистрирован: 15 янв 2007, 15:58
Сообщение
AnryGTR » 16 май 2007, 22:40
Здравствуйте уважаемые ГУРУ!
У меня ща такая трабла:
в сетке(TDBGridEh) есть поле фиксированного размера, и там иногда появляются данные больше этого размера, вот мне нужно, чтобы если в очередной строке как только данные превышают размер колонки - данная строка сетки переводила бы следующую порцию данных на вторую строчку ячейки и т.д. Я изменял свойство RowHeight или RowLines, но факт то, что эти функции действуют на все строки сетки, да и к тому же это некрасиво...

А можно ли сделать как я говорю?
Например такое свойство есть в
ФастРепорте, типа
MaxHeight и
Stretch.
-
AnryGTR
- Сообщения: 116
- Зарегистрирован: 15 янв 2007, 15:58
Сообщение
AnryGTR » 17 май 2007, 15:59
Что совсем ничего в этом направлении нельзя сделать, типа OnDrawDataCell, или где-то там? Я ковырялся, но ничего так и не получается...

-
WildSery
- Заслуженный разработчик
- Сообщения: 1738
- Зарегистрирован: 05 июн 2006, 16:19
Сообщение
WildSery » 17 май 2007, 16:32
В стандартных гридах - никак. Слишком глубоко зарыто, надо половину прорисовки переделывать.
Такое есть в QuantumGrid, но он небесплатен. Да и слишком уж наворочен, изучать и изучать...
-
Dimitry Sibiryakov
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Сообщение
Dimitry Sibiryakov » 18 май 2007, 07:41
WildSery писал(а):В стандартных гридах - никак.
Я делал строки, подстраивающие высоту под данные в TDrawGrid.
-
WildSery
- Заслуженный разработчик
- Сообщения: 1738
- Зарегистрирован: 05 июн 2006, 16:19
Сообщение
WildSery » 18 май 2007, 09:36
Dimitry Sibiryakov писал(а):Я делал строки, подстраивающие высоту под данные в TDrawGrid.
Никто и не говорил, что это невозможно, только, что нет стандартных методов для этого.
Самому нарисовать-то что угодно можно

-
AnryGTR
- Сообщения: 116
- Зарегистрирован: 15 янв 2007, 15:58
Сообщение
AnryGTR » 18 май 2007, 22:38
Спасибо за ответы...
2 Dimitry Sibiryakov:
если можно - опиши как ты это делал?

-
break
- Сообщения: 58
- Зарегистрирован: 12 май 2005, 11:03
Сообщение
break » 19 май 2007, 00:01
Можно сделать чтобы при наведении указателя мыши над такой ячейкой в виде Hint-а всплывал полный текст того что в ней не поместилось, а еще как то встречал компонент TopGrid в котором строки могли быть разной высоты - как раз тот случай..
-
AnryGTR
- Сообщения: 116
- Зарегистрирован: 15 янв 2007, 15:58
Сообщение
AnryGTR » 19 май 2007, 00:10
TopGrid - что за зверь, где мона скачать, если что скинь ссылу!
Спасибо за ответ, но мне не пойдёт Хинт, так как данных много и оператор должен видеть их сразу, а так ему придётся на каждый тыкать...

-
break
- Сообщения: 58
- Зарегистрирован: 12 май 2005, 11:03
Сообщение
break » 20 май 2007, 21:56
Ищется легко в любом поисковике, но правда не знаю сколько он стоит, в наборе компонент есть 3 грида, мне попадалась демо версия набора с частью исходников и скомпиленными BPL в любом случае все работало и я имел возможность проверить возможность вывода строк разной ширины, а именно:
В компоненте TosAdvDBGrid есть свойство RowOptions.ResizeRows, значением которого необходимо поставить rrSingle - после этого пользователь может раздвигать строки отдельно, т.е. меняется ширина каждой отдельной строки - а остальные остаются на месте, значит наверное можно в соответствующем методе типа OnPaintCell или каком то похожем проверять длину текста в ячейке и в случае необходимости увеличивать высоту. Как я понял это и требуется.
Надо попросить автора EhLib такую созможность добавить, сейчас у него на сайте вроде как группа поддержки даже организована - для всех желающих из СНГ, а недавно даже версия немного обновилась, если несколько человек напишет он наверняка сделает...
-
CyberMax
- Заслуженный разработчик
- Сообщения: 638
- Зарегистрирован: 31 янв 2006, 09:05
Сообщение
CyberMax » 21 май 2007, 02:14
Цитата из справки к EhLib 4.1:
"Возможности, не поддерживаемые текущей версией TDBGridEh .
Данная версия TDBGridEh не поддерживает следующие возможности:
TDBGridEh не может иметь индивидуальную высоту строк для каждой строки данных.
TDBGridEh не может объединять ячейки данных горизонтально и вертикально."
Так что Большаков об этих фичах в курсе и теоретически когда-нибудь их сделает...
-
WildSery
- Заслуженный разработчик
- Сообщения: 1738
- Зарегистрирован: 05 июн 2006, 16:19
Сообщение
WildSery » 21 май 2007, 10:52
TopGrid стоит $149, что тоже немало.
Хотя, по сравнению с $399 для QuantumSuite...
Если организация - требуй, это копейки. А из своего кармана, я бы сам нарисовал. К тому же, это время ещё мне бы и оплатили
