Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.09.26;
Скачать: [xml.tar.bz2];

Вниз

Мастера, очень нужен 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.008 c
1-85487
John Kayfolom
2002-09-16 15:52
2002.09.26
Разложить Integer (32бита) на 4 байта


6-85621
alkmas
2002-07-19 11:16
2002.09.26
Перенаправление пакетов


6-85642
HEugene
2002-07-25 08:50
2002.09.26
генератор пакетов


1-85521
DN
2002-09-17 12:48
2002.09.26
Работа с файлами


3-85339
Шурик Ш
2002-09-04 15:26
2002.09.26
SQL запрос:





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский