| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > TMS Grid |
| Автор: Akella 2.2.2005, 11:41 |
| Найдены классные компоненты TMS Grid Pack. К сожалению они не бесплатны. Если кто работал с такими компонентами, то пожалуйста выкладываете сюда свои примеры и секреты работы с этими компонентами. |
| Автор: z-END 2.2.2005, 12:16 | ||
а вобще кривые они, я сними повозился и плюнул. |
| Автор: Alex 2.2.2005, 12:33 | ||
Не кривые, а много функциональные. |
| Автор: Akella 2.2.2005, 13:07 | ||
Вообще-то согласен, тоже дума, что кривые, начинаю разбираться (не без помощи Alexa), начинют нравиться. Но давайте все-таки по теме. |
| Автор: z-END 2.2.2005, 13:13 | ||
Alex
буду рад если это будет проходить не через приват, а так сказать широковещательно! |
| Автор: Akella 2.2.2005, 13:40 |
| Вижу пока мало кто пытался разобраться с этими компонентами. К стати справка и демо-примеры скудноваты. В примерах задействовано около 2-3 событий из 128!!! возможных! Скоро начну выкладывать свои примены и наработки. |
| Автор: Akella 2.2.2005, 15:18 | ||||
| Итак, в сетке есть возможно динамически создавать компоненты в ячейках. Создаем разные компоненты в разных ячецках в событии OnGetEditorType
возможные варианты для AEditor Значение edNormal Edit cell using edit control edSpinEdit Edit cell using spin edit control edFloatSpinEdit Edit cell using float spin edit control edTimeSpinEdit Edit cell using time spin edit control edDateSpinEdit Edit cell using date spin edit control edComboEdit Edit cell using default ComboBox control edComboList Edit cell using ComboList control edEditBtn Edit cell using edit box with button control edUnitEditBtn Edit cell using edit box + unit field control edDateEdit Edit cell using date validated edit control edButton Edit cell using button control edNumeric Edit cell using numeric validated edit control edPositiveNumeric Edit cell using positive numeric validated edit control edFloat Edit cell using floating point validated edit control edCapital Edit cell using edit control UPPER CASE only edMixedCase Edit cell using text validated edit control edLowerCase Edit cell in all lower case characters edUpperCase Edit cell in all upper case characters edTimeEdit Edit cell as time edDateEditUpDown Edit date with updown button edPassword Edit as password edRichEdit Rich text inplace editor edCustom A custom inplace is used. This is set through the property. Названия сами за себя говорят, если кому не понятно - спрашивайте. Добавлено @ 15:24 Как узнать, какое значение попадает в ячейку после закрытия выпадающего списка
|
| Автор: Akella 2.2.2005, 15:35 | ||||||||
| Как узнать активную строку во время редактирования ячейки, в тех случаях, когда нет возможности в прямо в событии узнать, как напрмер ACol, ARow: Integer; в таких событиях, как OnKeyPress
Применение
Добавлено @ 15:40 Метод SaveToFile сохраняется в текстовом виде, но обчный TStringGrid корректно этот файл не прочитает, хотя проанализировав его, можн программно прочитать. А сделано грамотно.
Если подумать, то можно понять, что цыфири означают координаты ячейки, далее данные Добавлено @ 15:41 Как закрасить ячейку или поменять шрифт
Добавлено @ 15:44 Пока всё, спасибо за внимание. Надеюсь будет продолжение. Такую тему можно было и для DBGridEh создать. |
| Автор: Akella 3.2.2005, 15:24 |
| В свойствах TMouseAction есть свойство AllColumnSize - при изменении ширины одной из колонок сетки, пропорционально меняют ширину все остальные колонки (помучался я с этим свойством) |
| Автор: Akella 10.2.2005, 17:51 |
| В свойстве Navigation есть пункты AllowInsertRow:bool - добавление новой строки при нажатии Insert на клавиатуре AllowDeleteRow:bool - удаление активной строки при нажатии Delete на клавиатуре на програное добавление или удаление строк эти свойства не влияют. |
| Автор: Akella 14.2.2005, 14:09 | ||||
| В сетке есть такая проблема, а может и не проблема. Если Вы редактируете ячейку, и находясь в режиме редактирования вызвали сохранение сетки,
для того, что-бы данные ячейки сохранились, нужно выйти из ячеки (можно в другую) или
|
| Автор: fess 17.2.2005, 18:51 | ||
| Избавление от надписи о триальной версии в последней строке: Способ первый: Просто делаем высоту последней строчки=0 и сообщение, что это триальная версия пропадает. Но это необходимо делать каждый раз при изменении количества строк в AdvStringgrid'е.
В принципе должно работать на всех версиях. Я проверял только на двух последних версиях. |
| Автор: fess 18.2.2005, 13:04 |
| У этого AdvStringGrid'a есть свойство Look. Если Look:=glXp или Look:=glTMS то на фиксированных строка и колонках появляется неплохой градиент, но его цвет зависит от стиля в винде. Оказыватся, цвет градиента можно сделать любым при помощи изменения свойств TMSGradientFrom и TMSGradientTo, но эти свойства не доступны в Инспекторе Объектов, поэтому пришлось долго их искать. |
| Автор: Akella 21.2.2005, 14:44 | ||||
| Работаем с TCheckBox procedure AddCheckBox(ACol, ARow: Integer; State, Data: Boolean); что есть Data я так и не понял, но понял, что если ставить в False, то при сохранении эта ячека игнорируется. Еще одно замечание относительно EditorType. В событии OnGetEditorType не нужно определять ячейки типа edCheckBox (TEditorType.) читаем файл, ранее сохраненный od1 - TOpenDialog asg1 - сама сетка bCellCecked - переменная типа boolean
добавлее строки
|
| Автор: Akella 2.3.2005, 10:10 |
| Почему то событие OnGetEditorType происходит дважды подряд |
| Автор: Akella 19.3.2005, 11:29 | ||||||
| Пример. в строке несколько ячеек имеют ComboBox, кадый ComboBox заполняется в зависимости от того, что юзер выбрал в ComboBox`е предыдущей ячейки. Но если все ComboBox`ы заполнены, а юзер опять начал выбирать данные в той же строке, то после выбора значения первого ComboBox`а остальные нужно очистить. Но очисть в том случае, если юзер выбрал новое значение в ComboBox`е. Есть 2 события ComboCloseUp и ComboOnChange. К сожалению ComboOnChange наступает позже, т.е. после закрытия ComboBox`а. Нам нужно до закрытия, т.к. после закрытия мы уже дожны знать, изменилось значание в ComboBox`е или нет. Как отследить? Вводим глобальную переменную
В событии OnClockCell пишем (запоминаем старый текст)
В событии OnComboCloseUp
|
| Автор: Akella 2.6.2005, 10:57 | ||||||
Глюк:
Почему? А может и я не прав. Итак загружаем в сетку данные, затем удаляем одну строку загружаем новые данные, получается последние строки не отрисовывает, мало того вылетает исключение. Как решить проблему?
|
| Автор: Akella 2.6.2005, 12:44 | ||
ОШИБКА ИМЕННО В ЭТОЙ ПРОСЕДУРЕ
|
| Автор: Akella 2.6.2005, 13:07 | ||
Решил проблему следующим кодом
|
| Автор: Akella 9.8.2005, 16:27 |
| неужели никто не на работал с эти пакетом? |
| Автор: avp 21.7.2006, 13:49 | ||||
| Привет! несколько примеров для advStringGrid
Замечание при работе с Nodes - пред закрытием программы, для исключения Invalid Pointer Operation / AViolation их необходимо удалить, например в событии OnClose формы -
|
| Автор: kostas 21.7.2006, 15:21 |
| Я тоже работал вплотную с этими компонентами.. Очень понравились, приятный вид и большой функционал.. Что же касается триальности, то пишите в личку ;) |
| Автор: Akella 21.7.2006, 16:46 |
| kostas, лучше примеры выкладывай, куски кода, что можно, что нельзя... |
| Автор: Albinos_x 21.7.2006, 21:32 |
работал... но такого компанента я у себя в пакете не нашёл... у тебя он на какой закладке? как-то задавал вопрос по VrScope... никто ничего по нему не сказал... пришлось самому разбираться... |
| Автор: Foley 22.7.2006, 01:12 |
я работал, но нормальных примеров у меня к сожалению нету, я пробовал разобраться в демках, кое что получилось, кое что нет, но от противной надписи о том что она триальная мне пришлось пострадать... (отказаться, дальенейшее изучение я посчитал бессмысленным... ибо небыло средств оплатить компанент...) |
| Автор: Akella 24.7.2006, 08:58 |
| ну так выкладывай |
| Автор: kostas 24.7.2006, 11:13 | ||||||
| Ниже процедурки, которые когда-то писал сам... есть еще много примеров по работе в общем с гридами, однако они есть в том же drkb и смысла здесь их приводить я не вижу.. Вот пример экспорта грида в html:
сортировка по любой колонке:
раскраска последней ячейки последнего столбца в красный цвет и выравнивание во всех других ячейках по правому краю:
и еще в аттаче небольшой примерчик по работе с TStringGrid, для кого то делал когда то |
| Автор: Akella 26.7.2006, 11:52 | ||
на сайте разработчиков пакета FIBPlus (http://www.devrace.com/) выложен пример
см. новости за 25.07.2006 Добавлено @ 11:52 http://www.devrace.com/files/tmsadvgrid_2.9.1.0_fibplus_6.45.exe |
| Автор: Akella 3.10.2006, 10:03 |
| примеры |
| Автор: Akella 3.10.2006, 10:04 |
| примеры2 Добавлено @ 10:08 думаю, что ты не найдёшь описания или справки для TMS |
| Автор: tigger 21.10.2006, 13:39 |
| AdvStringGrid выолжите хоть где-нибудь посмотреть бы его... |
| Автор: RA 21.10.2006, 15:20 |
tigger, иди на офф сайт там смотри, или качай с ru-board.com, у нас варез запрещён. |
| Автор: Akella 23.10.2006, 08:59 |
| tigger, http://www.tmssoftware.com/ там и примеры есть внизу Добавлено @ 09:05 поищи там демо-версии |
| Автор: PriZraK 1.6.2009, 23:13 |
| Здравствуйте. Ищу сорцы данного демо-приложения: ![]() Среди демо-приложений архива http://www.tmssoftware.com/DASGDEMOS.ZIP этот пример не нашёл. Дело в том что необходимо отразить сообщение (Hint) над определённой строкой, либо в виде баллона (Balloon), либо в виде прямоугольного сообщения (OfficeHint). Так как среди значений компонента TAdvStringGrid есть такие как:
Остаётся задать вопрос — как это сделать? |
| Автор: Akella 2.6.2009, 08:13 |
| Может проблема в том, что на изображении в примере более новая версия грида, чет у тебя в наличии или в примере? |
| Автор: PriZraK 3.6.2009, 11:40 | ||
Установлен TMS Component pack v5.1.0.2 (Май 6, 2009). Версия входящего в пак TAdvStringGrid — 4.5.0.2. |
| Автор: Akella 3.6.2009, 18:23 |
| http://www.tmssoftware.com/site/asg76.asp |
| Автор: ActioN 23.6.2009, 09:04 | ||
А кто-нибудь знает, как сделать чтобы в определенной колонке всегда был виден SpinEdit (UpDown) контрол - как на картинке, предложенной PriZraK в колонке Stock? Если делать вот так:
То контрол будет виден только если начать редактировать ячейку. После редактирования его снова не видно. |
| Автор: Akella 24.6.2009, 13:11 |
| Может поискать свойство типа AlwaysShowEditor или что-то в этом роде. |
| Автор: ActioN 25.6.2009, 08:27 |
| Akella, перепробовал все возможные свойства, которые в названии хоть как-то имеют отношение - не нашел. Слишком их много. Демки тоже пересмотрел и тоже ничего такого не нашел. Ни в одной демке не нашел создания SpinEdit в ячейке. |
| Автор: Dizzzy Dozzzer 26.1.2010, 13:02 | ||||||
grid.ControlLook.SpinButtonsAlwaysVisible := true Добавлено через 11 минут и 29 секунд
procedure AddBalloon(ACol,ARow: Integer; Title, Text:string; Icon: TBalloonIcon); Варианты Icon: biNone: no icon biInfo: information icon biWarning: warning icon biError: error icon ЗЫ не забудь: grid.Balloon.Enable := true |
| Автор: Slan 6.5.2010, 11:44 |
| Дабы оживить тему... Сталкивался кто с реализацией создания в ячейках TMSGrid'ов элементов CheckComboBox стандартными средствами TMS? Вроде для этих целей есть компонента CheckEditLink, но как с ней работать пока не понятно. Заранее благодарен |
| Автор: Slan 19.5.2010, 11:56 |
| И весьма интересно: а есть ли возможность сделать такой же фильтр как был в примере, который показывал PriZraK? Если кто знает способ создания просьба поделиться им) |
| Автор: Akella 19.5.2010, 12:45 |
| По идее, его "делать" не нужно, он, как бы встроен должен быть. Посмотри свойства грида. Добавлено через 17 секунд Может у тебя не та версия грида? |
| Автор: Slan 19.5.2010, 14:11 |
| По логике то да и там есть подобие, только вот именно что подобие того на скрине. Да, есть группа свойств, посредством которых можно создать фильтр в popup меню, но не тот) В доках тоже темно и грустно, описывается лишь часть, а остальное - догадывайтесь сами... Недавно начал осваивать TMS, вот и проявляю интерес к таким неплохим у удобным, на мой взгляд, деталям. Кстати, по первому вопросу тоже нету соображений\предложений? по поводу версии... грид версии 5.0.4.1, сам пак - 5.5.2 |
| Автор: Akella 20.5.2010, 09:25 |
Переходи пока не поздно на DevExpress |