XafApplication.CreateDetailView(IObjectSpace, IModelDetailView, Boolean) Method
Creates a Detail View based on information from the Application Model‘s Views | DetailView node specified by the modelDetailView parameter.
Namespace: DevExpress.ExpressApp
Assembly: DevExpress.ExpressApp.v24.2.dll
NuGet Package: DevExpress.ExpressApp
#Declaration
public DetailView CreateDetailView(
IObjectSpace objectSpace,
IModelDetailView modelDetailView,
bool isRoot
)
#Parameters
Name | Type | Description |
---|---|---|
object |
IObject |
An IObject |
model |
IModel |
An IModel |
is |
Boolean | true, if the created Detail View is independent and owns the Object Space passed using the object |
#Returns
Type | Description |
---|---|
Detail |
A Detail View that does not represent any object. |
#Remarks
Use this method to create a Detail View which is not bound to an object. You can set an object separately using the DetailView.CurrentObject property.
Note
Do not use another View’s View.
If your Application Model contains several DetailView models of a certain business class, use the modelDetailView parameter to define which model should be used for the created View. To get the default model, use the IModelClass.DefaultDetailView property.
The example below demonstrates how to open an object’s Detail View via a PopupWindowShowAction.
using System;
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Actions;
using DevExpress.ExpressApp.Model;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl;
// ...
public class ShowDetailViewController : ObjectViewController<ListView, Person> {
public ShowDetailViewController() {
PopupWindowShowAction showDetailViewAction = new PopupWindowShowAction(
this, "ShowDetailView", PredefinedCategory.Edit);
showDetailViewAction.SelectionDependencyType = SelectionDependencyType.RequireSingleObject;
showDetailViewAction.CustomizePopupWindowParams += ShowDetailViewAction_CustomizePopupWindowParams;
}
private void ShowDetailViewAction_CustomizePopupWindowParams(
object sender, CustomizePopupWindowParamsEventArgs e) {
if(View.CurrentObject != null) {
IObjectSpace objectSpace = Application.CreateObjectSpace(typeof(Person));
IModelClass modelClass = Application.FindModelClass(View.CurrentObject.GetType());
IModelDetailView defaultDetailView = modelClass.DefaultDetailView;
e.View = Application.CreateDetailView(objectSpace, defaultDetailView, true);
}
}
}