Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.26;
Скачать: CL | DM;

Вниз

Мастера, очень нужен Grid.   Найти похожие ветки 

 
Lexer ©   (2002-08-28 18:09) [0]

Уважаемые мастера, подскажите пожалуйста где можно найти компонент Grid позволяющий группировать строки в отдельных столбцах.
Например в первом столбце перечислены клиенты, а во втором купленные ими товары. Надо чтоб ячейке первого столбца соответствовало несколько ячеек второго.
Что-то наподобе этого реализовано в 1С.


 
MBo ©   (2002-08-28 18:19) [1]

это без труда можно делать в обычном StringGrid, например, оставляя пустые строки в колонке клиента.
Объединение ячеек сделать непросто, но есть и third-part grids, от TMS, кажется , и еще какие-то


 
Lexer ©   (2002-08-28 18:23) [2]

Помогите, очень нужен адрес.


 
MBo ©   (2002-08-28 18:29) [3]

какой адрес? www.tmssoftware.com , но сам я не пользовался их гридом, только упоминания видел


 
Lexer ©   (2002-08-28 18:39) [4]

Компоненты хорошие но не то что надо.


 
MBo ©   (2002-08-28 18:44) [5]

90% нужных извращений делается с помощью стандартных компонентов.
Именно то, что нужно, вряд ли кто-то делал таким образом, как видится тебе.


 
Lexer ©   (2002-08-28 18:48) [6]

Пример - 1С.


 
MBo ©   (2002-08-28 18:49) [7]

Я много чего не видел, в том числе и 1С


 
Lexer ©   (2002-08-28 18:58) [8]

Объясняю, у меня таблица с заказами клиентов. Нужно вывести в одной таблице какое количество каждого товара заказали клиенты.
Т.е. получается список:

Иванов | телевизор | 1
Иванов | клавиатура | 1
Иванов | мышь | 2
Сидоров | телевизор | 1
Сидоров | клавиатура| 1

Нужно не повторять по несколко раз название одного и того же клиента.


 
MBo ©   (2002-08-28 18:59) [9]

MBo © (28.08.02 18:19)
первая строка


 
Lexer ©   (2002-08-28 19:01) [10]

извини, что первая строка???


 
MBo ©   (2002-08-28 19:04) [11]

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


 
Lexer ©   (2002-08-28 19:08) [12]

остальные ячейки будут пустыми
---------
Иванов 10
---------
20
---------
10
---------
Сидоров 5
---------
это просто не прилично



 
vuk ©   (2002-08-28 19:58) [13]

http://www.devexpress.com/products/vcl/product.asp?prodid=10


 
ultrasuper_asd ©   (2002-08-28 23:57) [14]

а где эти девэкпрессы достать? они вроде как не бесплатные...
кроме того слишком перенавороченные, и с национальными афавитами глючат... лучше на основе стандартного написать свой компонент. надёжнее

хотя для группировки подходят очень хорошо...


 
Dimich1978 ©   (2002-08-29 09:45) [15]

У меня складывается такое очучение, а нельзя ли решить проблему используя БД, это же элементарно и любимый грид там есть. И реализуется в течении 1 часа(максимум). И получится классно. Т.е. в одной базе у тебя фамилии а во второй что он заказал и связать их при помощи "+" поля и "I" полям. И никаких проблем. Если надо могу выслать прям базы уже связанные.
Или я чего не понял? Мож вся фишка именно используя StringGrid?


 
vuk ©   (2002-08-29 10:16) [16]

>а где эти девэкпрессы достать? они вроде как не бесплатные...
Купить. :o)

>кроме того слишком перенавороченные,
А это кому как. Для более-менее серьезных проектов возможности применяются где-то на 80%.

>и с национальными афавитами глючат...
С национальными - не замечал. Вот с unicode не дружит - это да.


 
vopros ©   (2002-08-29 11:41) [17]

Заморочили парню голову.


 
MsGuns ©   (2002-08-29 11:47) [18]

А почему бы не создать временную таблицу клиентов и как Мастер привязать к указанной (там, ессно, клиентов не показывать). А изгаляции с гридом займут куда больше времени и нервов.
Путь 2: Использовать событие OnGetText для поля клиента, затирая пробелами его содержимое, если это не первая запись по клиенту


 
asafr ©   (2002-08-29 11:55) [19]

MsGuns ©, ты прав...


 
Lexer ©   (2002-08-29 13:06) [20]

Связать то просто если таких вложенностей две. А у меня их >3.
С трудом верится что ни у кого не возникало такой проблемы :(.


 
Lexer ©   (2002-08-29 13:11) [21]

vuk, спасибо за ссылку, может пригодится.
Кстати непонятно почему данный вопрос перемещен в данную категорию, неужели Moderators считают что данный вопрос не решить?...


 
Dimich1978 ©   (2002-08-29 14:22) [22]

Напридумывали. А что типа БД никто не связывал где связеё более 2. Я как то прогу писал для Архивов районнных, так там у меня связей 6 как минимум было. Я думаю что сдесь оптимально будет использовать все же БД и их связанность, можно связать хоть 20 БД и не вопрос. Причем связать так как тебе надо.


 
MsGuns ©   (2002-08-29 14:41) [23]

>Lexer
>Связать то просто если таких вложенностей две. А у меня их >3.
Только TField.OnGetText или перекраивать на фиг всю физическую чуть БД


 
Lexer ©   (2002-08-29 14:48) [24]

...причем тут связи, в моей БД все т-цы связаны мне нужно такое представление:

Клиенты - группа_товаров - товар - количество

т.е.
________________________________
| | клав - ра_1|
| клав-ры | клав - ра_2|
Клиент1 |__________| клав - ра_3|
| | мышь_1 |
| мыши | мышь_2 |
________|__________|____________|


 
Lexer ©   (2002-08-29 14:49) [25]

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


 
vuk ©   (2002-08-29 14:57) [26]

Если Master/detail нужен, то лучше отдельными наборами данных это все делать, иначе придется таскать на клиента немерянные оьъемы данных, что не есть правильно.
В принципе, у тех же DevExpress есть компонент MasterView, который позволяет master/detail любой вложенности в одном гриде просматривать. Правда, он только read only, то есть редактирования нет. А вот в новой версии QuantumGrid 4 будет полнофункциональное редактирование Master/detail в одном гриде.


 
MsGuns ©   (2002-08-29 18:15) [27]

Если группа товаров - самостоятельный "этаж" в БД (т.е.таблица-верт.связующая в ветви Мастер>Детал1>Детал2>Детал3, то я сочувствую тем, кто будет юзать такую базу. Хотя программеру вседа будет работа , след-но, заработок. Например, когда шефу взбредет в голову сгруппировать по кучкам, например, покупателей,- надо еще одну таблу рисовать, опять же связка, реструктурирование,.. - одним словом, поневоле бу уважать писаку-программера


 
MVova ©   (2002-08-29 18:38) [28]

Доделай TDBTreeViev.


 
MsGuns ©   (2002-08-29 19:08) [29]

По-моему, 90% проблем решает OnGetText. Делов-то куча - прятать-показывать содержимое нужных ячеек грида !


 
vuk ©   (2002-08-29 19:27) [30]

Если честно, то группировки в QuantumGrid сделаны не для master/detail, а для другого. Они нужны для того чтобы можно каким-то образом структутировать сделанную выборку не прибегая к дополнительным средствам. Что-то типа простенького отчета с группировкий. Для того же и фильтры и сотировки там используются. Если средства не по назначению применять, то от этого только проблемы возникают...


 
iZEN   (2002-08-30 08:49) [31]

Есть такая вещь: кросстаблицы. Это когда данные оформлены в виде таблиц с объединёнными ячейками. В более общем случае эта тема близка к процессу отображения результатов оперативной аналитической обработки. Поэтому смотрите в сторону DecisionCube-компонентов, там есть что-то типа TDecisionTable -- нормальная кросс-таблица с активными ячейками (дёргать можно в run-time). Правда, DecisionCube работает исключительно через BDE и SQL-запросы к БД :(|

P.S. Когда мне понадобилось работать с кросс-таблицами -- перешёл на Java/Swing. Стандартный класс javax.swing.JTable сам по себе очень мощный компонент отображения различных таблиц, в том числе с объединением ячеек. Вот так.

P.P.S. В Microsoft Controls, кстати, до сих пор нет компонента для отображения таблиц -- прикололись ребята -- чтобы другие каждый по-своему решал эту проблему снова и снова.


 
vuk ©   (2002-08-30 11:12) [32]

DecisionCube делает анализ данных, формируя куб на основе плоского запроса. Это действительно аналитика. Это немного не те задачи, и обычно они требуют либо специальных средств для анализа (типа OLAP сервисов в MS SQL) либо некоторого времени на анализ, как в случае с DecisionCube. Здесь же речь идет о структурировании результата запроса для облегчения навигации по нему.

И еще. Вроде у MS есть какой-то FlexGrid... И для работы с данными OLAP сервисов MS SQL существует какой-то грид, который их должным образом отображает.



Страницы: 1 вся ветка

Текущий архив: 2002.09.26;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.02 c
1-85464
BillyJeans
2002-09-16 09:11
2002.09.26
Два простых вопроса для знатоков....


7-85716
иван
2002-07-17 13:15
2002.09.26
Autoexec.bat


3-85360
GWeber
2002-09-04 12:33
2002.09.26
DBComboBox


1-85532
Mazenrat
2002-09-12 20:37
2002.09.26
Воспроизведение CD-диска.


14-85658
Dimka Maslov
2002-08-29 14:17
2002.09.26
:-)