Custom Binding Limitations
- 2 minutes to read
In custom binding mode, the MVC CardView does not have simultaneous access to the bound data in its entirety. This imposes some limitations on the CardView features available in regular binding mode.
see the list below for information on features that have limitations in custom binding mode.
The CardView's built-in facilities for custom data processing (such as custom sorting and summarization) are not in effect.
Unlike in standard binding mode (in which data is processed automatically), you are responsible for retrieving the required portion of data from a data source (Model) using code and passing this data to the CardView. The extension does not have access to all of the data in your Model. Although the CardView includes built-in features that allow you to control custom data processing in standard binding mode, these features are not in effect in custom binding, because they require the CardView to access all data rows in the Model.
As a result, custom binding mode places a limit on the following data processing operations.
- Custom sorting via CardViewSettings.CustomColumnSort is not supported.
- Custom summary calculation implemented via CardViewSettings.CustomSummaryCalculate is not supported.
Since in custom binding mode you control the logic of selecting and processing the model data, you should implement similar custom data processing scenarios in your custom code if your application logic requires it. You can do this when populating the CardView view model at the Model level.
Data binding notifications are not supported.
Exporting using ExportTo[FORMAT], Write[FORMAT] or Write[FORMAT]ToResponse methods is not supported.
By design, the entire data source is required to perform an automatic export operation. It is not possible to export only a portion of the data - the CardView view model.
- Endless paging defined with the CardViewSettings.SettingsPager.Mode (ASPxCardViewPagerSettings.Mode) set to GridViewPagerMode.EndlessPaging is not supported.
Layout persistence implemented with GridSettingsBase.ClientLayout is partially supported using a workaround.
The current workaround for loading the saved client layout data requires that you send an extra callback to the server. Call the PerformCallback (MVCxClientCardView.PerformCallback) client method with an empty parameter in the CardView's Init (ASPxClientControlBase.Init) client event handler. This makes client layout data available in the Controller (using CardViewModel, which maintains the CardView's state) and passes the CardView state to custom binding delegate methods as the CardViewCustomBindingArgsBase.State argument.