Форум: "Потрепаться";
Текущий архив: 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