Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Частично прокручивающийся грид [D5]


Goida ©   (2003-12-04 15:01:00) 

Как сделать, чтобы один грид обладал способностью: часть грида прокручивается не зависимо от другой. Как привязка ячеек в Excel.


BlackKing   (2003-12-04 18:33:00) [1]

A F1Book не подойдёт?
он всё ето умеет. единственный недостаток - это ОСХ. надо отдельно инсталлить.


BlackKing   (2003-12-04 18:28:00) [2]

В моём варианте СтрингГрид только для отображения : кол-во строк ровно столько, сколько умещается в видимой его части
надо только делать вид, что перемещаешся. ну а изменение позиции колонки...в крайнем случае запретить.


Nik222   (2003-12-04 18:04:00) [3]

По моему можно обойтись Grid из EHLib, немного поправив его
следующим образом:
у этого грида в низу есть строка куда выводятся итоги, так вот
нужно чтобы в строку выводились не итоги а инфа из зафиксированной
юзером строки. Т.е однозначно нужно править код (даже наверно
лучше создать новый грид на основе DBGRIDEH)
Вариант со stringgridom думаю не приемлем, т.к возникает геморрой
при синхронизации столбцов (если юзер начнет перемещаться горизонтально
то придется программно дигать и stringgrid, а если он вдруг захочет
изменить ширину столбца или поменять его позицию)


BlackKing   (2003-12-04 17:48:00) [4]

хмм...написать компонент с такой возможностью?
ето займёт не один день.
А принцып пока ещё не всё обдумал.
пока что-то типа того :
Есть StringGrid, кол-во строк ровно столько, сколько умещается в видимой его части.
какая-то полоска, указывающая насколько разделён грид.
есть 2 курсора, для верхнего и нижнего списка.
если прокручиваешь нижнюю часть, перемещать нижний курсор, и заполнять нижние ячейки в соответствии с ним. аналогично для верхнего.

что-то типа того, если я вообще понятно выразился :o)


stud   (2003-12-04 17:38:00) [5]

например кидаеш его рядом и когда пльзователь хочет закрепить строку, переносиш эти данные из дбгрида в стринггрид и крути дальше.
ну или из стринггрида сделать дбгрид какой тебе нужен


Goida   (2003-12-04 17:28:00) [6]


> BlackKing

А по грамотнее :)


BlackKing   (2003-12-04 17:17:00) [7]

poslozhneje - mozhno vzjat" StringGrid i nauchit" jego delat" eti vse dela. :o)


Goida   (2003-12-04 17:12:00) [8]


> BlackKing

А по сложнее есть.


BlackKing   (2003-12-04 17:09:00) [9]

Goida © (04.12.03 16:57) [8]

eto budet samij prostoj variant :o)


Goida   (2003-12-04 16:57:00) [10]

У меня такая идея: взять два грида, залить их одним содержимым, один из них сделать не видимым и убрать у него свойства: заголовки и рамку (и у первого рамку). Когда пользователь пожелает, он сделает второй грид видимым, а в нем, locate"ом мы спозиционируем курсор на нужной позиции. И так далее...


Johnny Smith   (2003-12-04 16:51:00) [11]

2Goida © (04.12.03 16:37) [5]
Писать самому. Не иначе.


stud   (2003-12-04 16:51:00) [12]

может проще вынести нужные данные на панель например временную, а он пусть дальше по гриду ползает


Goida   (2003-12-04 16:37:00) [13]

Нет-нет. Цель другая. Я объяснил ее выше.


Vemer   (2003-12-04 16:31:00) [14]

Не проще сделать грид, выводящий несоответствия первых 2-х?


Goida   (2003-12-04 15:35:00) [15]

Следующее свойство должно появляться по желанию пользователя.
Был один грид. Пользователь нашел какие-то данные и решил сравнить с другими в этом же гриде. При этом, он позиционирует курсор в ячейке и говорит, например, закрепить по горизонтали. теперь сверху он может работать с одной половиной, снизу - с другой. Заголовок таблицы остается один. Как в Excel, вобщем.


Nikolay M.   (2003-12-04 15:22:00) [16]

Положить на форму два грида вплотную друг к другу.


stud   (2003-12-04 15:14:00) [17]

это как?


Наверх

Титульная страница Поиск, карта сайта Написать письмо