Изменить текущий объект DetailView в XAF

в XAF я изменяю CurrentObject DetailView с помощью этого кода:

((DetailView)this.View).CurrentObject = newObject;

Когда я пытаюсь сохранить объект, он также пытается сохранить предыдущий объект и проверяет правила для предыдущего объекта. Есть ли способ сохранить только новый объект?


person Rauf Zeynalov    schedule 25.10.2013    source источник


Ответы (1)


Вы должны иметь возможность совместно вызывать ObjectSpace.Rollback(), чтобы отказаться от изменений в текущем объекте.

Однако это будет зависеть от того, чего вы пытаетесь достичь, но изменение CurrentObject представления, как правило, не является хорошей идеей. Большая часть контекста (разрешения, доступные действия, видимость редактора и т. д.) исходит из текущего объекта. Лучше было бы создать отдельное ObjectSpace с помощью Application.CreateObjectSpace() и внести в него все необходимые изменения.

Как и во всем, что касается DevExpress, в первую очередь следует обратиться в их Центр поддержки.

person shamp00    schedule 25.10.2013
comment
Я знаю, что изменение CurrentObject в DetailView — плохая идея, но я хочу иметь возможность обновлять объекты, не возвращая ListView, поэтому я меняю CurrentObject в DetailView, есть ли у вас какие-либо советы? - person Rauf Zeynalov; 26.10.2013
comment
Как я предлагаю выше, вы должны использовать отдельный ObjectSpace. - person shamp00; 26.10.2013