![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBGrid > TreeView > DBGrid [D7, D2005]
SiDimka © (2012-04-17 21:01:00)Пдскажите плиз как переоткыть правильно TreeView.
TreeView > DBGrid работает без проблем, а вот DBGrid > TreeView при меремещении по записям дорисовывает уже созданые ветки, делаю клер TreeView item, перестает отрисовывать ветки.
SiDimka (2012-04-19 19:06:00) [1]>Тебе это "одноразово" надо
Да одноразово, в одном окне определенного проекта. Надеюсь в будущем таким извращением не прийдется заниматься.
sniknik (2012-04-19 15:51:00) [2]> Одно это чего стоит:
первый цикл это похоже фетчолл чтобы во втором можно рекордкаунт использовать...
база/компоненты не указаны, как всегда, но вообще -
> Либо врёшь.
может и не врет, просто серверный курсор, с частичной скачанностью записей + рекордкаунт... ну и вместо того чтобы учится правильно писать начал "затычки" лепить/шаманством заниматься.
Ega23 (2012-04-19 15:31:00) [3]
> Да, в данном случае удобней в таблице, чем первой веткой
> в дереве.
Я не уверен, что это будет удобнее. Впрочем - тебе виднее.
Тебе это "одноразово" надо, или ты данную связку как компонент собираешься использовать?
SiDimka (2012-04-19 02:08:00) [4]Да, в данном случае удобней в таблице, чем первой веткой в дереве.
Ega23 (2012-04-19 02:00:00) [5]Ты уверен, что тебе нужна первая таблица?
SiDimka (2012-04-19 01:39:00) [6]В окне отображается 1я таблица с наименованием, дальше в дереве отображаются группы с подгруппами, затем во 2й таблице отображается содержимое подгрупп.
Ega23 (2012-04-19 01:19:00) [7]
> Отображение 2-х веток, т.е верхней и одного чида, без добавлений,
> изменений, удалений.
Если ты думаешь, что это понятно, то ты ошибаешься.
Успокойся, забудь про Delphi, возьми бумажку и карандаш. И опиши задачу. Без своих соображений о том, как её надо решать. И представь, что ты эту задачу не программисту объясняешь, а, например, продавцу в магазине. Который вообще не понимает, что такое DBGrid, TreeView и DataSet.
SiDimka (2012-04-19 01:05:00) [8]Отображение 2-х веток, т.е верхней и одного чида, без добавлений, изменений, удалений.
Ega23 (2012-04-19 00:38:00) [9]
> где екзампл взять под TreeView чтобы сделать его нормальным
> DB под мою задчу. Т.е как связать его с TDataSet, TDataSource.
Опиши задачу.
Но в целом, как мне кажется, если редактирования со стороны не будет, то тебе надо на события TDataSource приязаться.
Jeer (2012-04-18 23:53:00) [10]На torry не пробовал поискать ?
Там много чего бывает.
SiDimka (2012-04-18 22:15:00) [11]Народ, может кто подскажет где найти DBTreeView фриварный, или где екзампл взять под TreeView чтобы сделать его нормальным DB под мою задчу. Т.е как связать его с TDataSet, TDataSource.
Jeer (2012-04-18 21:58:00) [12]
> нормальная работа с таким деревом будет нереальна.
Она реальна для ограниченного круга задач, в частности для front-end приложений, когда справочники статичны.
Ega23 (2012-04-18 21:55:00) [13]
> И мне очень интересно ПОЧЕМУ??!!
Потому что очень много ограничений. Универсальный компонент так не делают.
Ega23 (2012-04-18 21:53:00) [14]
> Я не думаю, а также, как и ты - делаю.
Когда-то очень давно, возникла надобность такого компонента, ибо задолбались каждый раз писать "аналог" под каждую выборку, а в той задаче иерархических выборок было немало. Поскольку сам клиент на DBAware был построен, начальство сказало: "Надо!". Я пошурстил по тырнету, нашёл DevExpress. Начальство сказало: "Дорого, пиши сам", за что я ему до сих пор премного благодарен, ибо где-то с месяц разбирался в тонкостях работы связки TDataSet -> TDataSource -> TDataLink -> DBControl.
И в этой идеологии создать универсальныйTDBTreeView действительно очень сложно. Даже я бы сказал невозможно. Пока не введут событие DataSet-а , которое сигнализирует о том, что он был изменён, и пока его не будут выплёвывать на TDataSet.EnableControls - нормальная работа с таким деревом будет нереальна.
SiDimka (2012-04-18 21:49:00) [15]> Как вы думаете, почему нет такого замечательного компонента, как TDBTreeView?
И мне очень интересно ПОЧЕМУ??!!
Вот выкачал ExpressDBTree 30-day trial посмотрел, и головняк решился бы одним махом. Все чего душа желала за 10 минут реализовывается:)), да вот незадача из-за одного компонента 1,5т капусты отгрузить:(
Jeer (2012-04-18 21:45:00) [16]
> Как вы думаете,
Я не думаю, а также, как и ты - делаю.
Ega23 (2012-04-18 21:22:00) [17]
> Построение под-дерева только на клиенте и его средствами
> всегда затратно.
Зависит от ситуации.
Как вы думаете, почему в стандартнойпоставке Delphi нет такого замечательного компонента, как TDBTreeView? Хотя казалось бы, чё там... Да и использование его не такая уж и редкость.
Jeer (2012-04-18 20:59:00) [18]
> только как правильно ее реализовать
Построение под-дерева только на клиенте и его средствами всегда затратно.
Да и надо ли ?
SiDimka (2012-04-18 20:15:00) [19]>серьёзное недопонимание идеологии работы DBAware-компонентов
Учусь по книжкам самостоятельно, пэтому с некоторой терминологией проблемы.
>Тебе, как я понимаю, нужна мастер-детальная связка
Совешенно верно, только как правильно ее реализовать под данную задачу незнаю.
Ega23 (2012-04-18 19:59:00) [20]
> Я так понимаю, что одной процедурой мне не обойтись.
Совершенно необязательно.
Начнём с того, что у тебя серьёзное недопонимание идеологии работы DBAware-компонентов.
Ты не двигаешься по DBGrid. Двигается курсор по набору данных, с которым связан твой DBGrid через DataSource.
Тебе, как я понимаю, нужна мастер-детальная связка.