Здравствуйте, corpse56, Вы писали:
C>Здравствуйте! C>Есть некая форма, которая отображает набор одних и тех же сущностей в двух видах. Сущности эти из одной и той же таблицы БД. Но для удобства работы заказчик попросил представлять их одновременно на одной форме в виде дерева и в виде таблицы. В таблице на форме находится полный список этих сущностей. В БД есть таблица родитель-потомок для построения дерева этих сущностей. Было принято решение сделать две модели: одну для табличного отображения, другую для дерева.
Вот в этот момент вы и встряли. Зачем вам две модели? Роль модели как раз в том и состоит, чтобы обеспечивать согласованное представление данных во всех контролах.
C>Ещё одно решение — сделать общую модель и для дерева и для таблицы. Тогда всё становиться понятно. ModelHolder не нужен и мы из самой модели вызываем методы БД после обновления модели. Но опять же, эта модель получиться только для этой формы и больше нигде её не удастся использовать.
Не очень понятно, почему это её не удастся использовать. Нормальная модель должна давать достаточно информации для биндинга как дерева, так и таблицы.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.