Back to Devexpress

DynamicListLookUpSettings Class

corelibraries-devexpress-dot-xtrareports-dot-parameters-c127c440.md

latest7.3 KB
Original Source

DynamicListLookUpSettings Class

Provides settings for the storage that contains the list of predefined parameter values.

Namespace : DevExpress.XtraReports.Parameters

Assembly : DevExpress.Printing.v25.2.Core.dll

NuGet Package : DevExpress.Printing.Core

Declaration

csharp
public class DynamicListLookUpSettings :
    LookUpSettings
vb
Public Class DynamicListLookUpSettings
    Inherits LookUpSettings

Remarks

Assign an instance of the DynamicListLookUpSettings class to a parameter’s ValueSourceSettings property to provide a list of predefined values from a data storage. You can also set the parameter’s ValueSourceSettings property to:

Use the following properties to specify access to the data storage:

Use the SortMember and SortOrder to specify the order in which the values appear on the list.

Ensure that the listed values match the parameter’s Type - otherwise the editor’s validation rejects the value.

Users can select a value from the specified list only. However, you can specify an unlisted value for the parameter in code.

See Parameters Overview for more information.

Example

The code sample below illustrates how to create a date parameter with a dynamic list of predefined values and filter report data by this parameter.

csharp
using DevExpress.XtraReports.Parameters;
using DevExpress.XtraReports.UI;
using System;
using System.Collections.Generic;
// ...
DevExpress.DataAccess.ObjectBinding.ObjectDataSource objectDataSource = 
    new DevExpress.DataAccess.ObjectBinding.ObjectDataSource()
{
    Name = "ObjectDataSource1",
    DataSource = CreateLookups(),
};
public XtraReport CreateReportWithDateParameterDynamicList()
{
    XtraReport report = new XtraReport();
    Parameter myDateParameter = new Parameter();
    myDateParameter.Name = "myDateParameter";
    // Sets the Visible property to true to request the parameter value from users.
    // Sets this property to false to apply the parameter's value that is specified in code.
    myDateParameter.Visible = true;
    myDateParameter.Type = typeof(System.DateTime);
    // Specifies the storage for the parameter's predefined values
    DynamicListLookUpSettings lookupSettings = new DynamicListLookUpSettings();
    lookupSettings.DataSource = objectDataSource;
    lookupSettings.ValueMember = "Value";
    lookupSettings.DisplayMember = "Description";
    myDateParameter.ValueSourceSettings = lookupSettings;
    report.Parameters.Add(myDateParameter);
    // Filters report data by the specified parameter.
    report.FilterString = "GetDate([OrderDate]) >= ?myDateParameter";

    return report;
}
static List<LookUpValue> CreateLookups()
{
    return new List<LookUpValue>() {
new LookUpValue(new DateTime(2019, 01, 01), "January 1, 2019"),
new LookUpValue(new DateTime(2019, 02, 01), "February 1, 2019"),
    };
}
vb
Imports DevExpress.XtraReports.Parameters
Imports DevExpress.XtraReports.UI
Imports System
Imports System.Collections.Generic
' ...
Private objectDataSource As New DevExpress.DataAccess.ObjectBinding.ObjectDataSource() With {.Name = "ObjectDataSource1", .DataSource = CreateLookups()}
Public Function CreateReportWithDateParameterDynamicList() As XtraReport
    Dim report As New XtraReport()
    Dim myDateParameter As New Parameter()
    myDateParameter.Name = "myDateParameter"
    ' Sets the Visible property to true to request the parameter value from users.
    ' Sets this property to false to apply the parameter's value that is specified in code.
    myDateParameter.Visible = True
    myDateParameter.Type = GetType(Date)
    ' Specifies the storage for the parameter's predefined values
    Dim lookupSettings As New DynamicListLookUpSettings()
    lookupSettings.DataSource = objectDataSource
    lookupSettings.ValueMember = "Value"
    lookupSettings.DisplayMember = "Description"
    myDateParameter.ValueSourceSettings = lookupSettings
    report.Parameters.Add(myDateParameter)
    ' Filters report data by the specified parameter.
    report.FilterString = "GetDate([OrderDate]) >= ?myDateParameter"

    Return report
End Function
Private Shared Function CreateLookups() As List(Of LookUpValue)
    Return New List(Of LookUpValue)() From {
        New LookUpValue(New Date(2019, 1, 1), "January 1, 2019"),
        New LookUpValue(New Date(2019, 2, 1), "February 1, 2019")
    }
End Function

Implements

IDataSourceAssignable

IDataContainerBase

Inheritance

Object ValueSourceSettings LookUpSettings DynamicListLookUpSettings

See Also

DynamicListLookUpSettings Members

DevExpress.XtraReports.Parameters Namespace