Skip to content
Apostolis Bekiaris edited this page Apr 20, 2020 · 118 revisions

GitHub issues GitHub close issues

About

The MasterDetail module can help you create platform agnostic master detail XAF views using only the Model Editor.

Installation

  1. First you need the nuget package so issue this command to the VS Nuget package console

    Install-Package Xpand.XAF.Modules.MasterDetail.

    The above only references the dependencies and nexts steps are mandatory.

  2. Ways to Register a Module or simply add the next call to your module constructor

    RequiredModuleTypes.Add(typeof(Xpand.XAF.Modules.MasterDetailModule));

Versioning

The module is not bound to DevExpress versioning, which means you can use the latest version with your old DevExpress projects Read more.

The module follows the Nuget Version Basics.

Dependencies

.NetFramework: net461

DevExpress.ExpressApp Any
Fasterflect.Xpand 2.0.7
JetBrains.Annotations 2019.1.3
System.Reactive 4.3.2
Xpand.Extensions.Reactive 2.201.14
Xpand.Extensions.XAF 2.201.14
Xpand.Patcher 1.0.1
Xpand.XAF.Modules.Reactive 2.201.14
Xpand.VersionConverter 2.201.5

Issues-Debugging-Troubleshooting

To Step in the source code you need to enable Source Server support in your Visual Studio/Tools/Options/Debugging/Enable Source Server Support. See also How to boost your DevExpress Debugging Experience.

If the package is installed in a way that you do not have access to uninstall it, then you can unload it with the next call at the contructor of your module.

Xpand.XAF.Modules.Reactive.ReactiveModuleBase.Unload(typeof(Xpand.XAF.Modules.MasterDetail.MasterDetailModule))

Details

The module satisfies the following conditions:

  1. If a DashboardView contains a one ListView and one DetailView of the same type, then it will be Master-Detail enabled by default. It can be disabled by setting the IModelDashboardViewMasterDetail.MasterDetail to false.

    image

  2. Each time a ListView selection change, it will synchronize the DetailView CurrentObject with the selected from the ListView.

  3. ALL CRUD operations are supported. A valuable module for forcing the DetailView to open in edit mode is the ViewEditModeModule. Additionaly you can use the AutoCommitModule, for auto commiting the DetailView.

  4. Conditional detailviews can be configured from the model by creating IModelMasterDetailViewObjectTypeLinks

    image

Tests

The module is tested on Azure for each build with these tests. All Tests run as per our Compatibility Matrix

Examples

The module is integrated with the ExcelImporter, XtraDashboard modules.

Next screenshot is an example from ExcelImporter from the view tha maps the Excel columns with the BO members.

image

image

image


Custom badge

Star the project if you think it deserves it.

GitHub stars

Fork the project to extend and contribute.

GitHub forks

Clone this wiki locally