diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..565d902
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,4 @@
+VB/* linguist-vendored
+scripts linguist-vendored
+*.css linguist-detectable=false
+*.aff linguist-detectable=false
\ No newline at end of file
diff --git a/.github/workflows/vale.yml b/.github/workflows/vale.yml
new file mode 100644
index 0000000..fc11f81
--- /dev/null
+++ b/.github/workflows/vale.yml
@@ -0,0 +1,30 @@
+name: vale-validation
+on:
+ pull_request:
+ paths:
+ - README.md
+ - readme.md
+ - Readme.md
+
+jobs:
+ vale:
+ name: runner / vale
+ runs-on: ubuntu-latest
+ steps:
+ - name: clone repo
+ uses: actions/checkout@v4
+ - name: clone vale-styles repo
+ uses: actions/checkout@v4
+ with:
+ repository: DevExpress/vale-styles
+ path: vale-styles
+ ssh-key: ${{ secrets.VALE_STYLES_ACCESS_KEY }}
+ - name: copy vale rules to the root repo
+ run: shopt -s dotglob && cp -r ./vale-styles/vale/* .
+ - name: vale linter check
+ uses: DevExpress/vale-action@reviewdog
+ with:
+ files: '["README.md", "readme.md", "Readme.md"]'
+ fail_on_error: true
+ filter_mode: nofilter
+ reporter: github-check
diff --git a/.gitignore b/.gitignore
index 456cdfa..74e009e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,297 +1,297 @@
-## Ignore Visual Studio temporary files, build results, and
-## files generated by popular Visual Studio add-ons.
-##
-## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
-
-# User-specific files
-*.suo
-*.user
-*.userosscache
-*.sln.docstates
-
-# User-specific files (MonoDevelop/Xamarin Studio)
-*.userprefs
-
-# Build results
-[Dd]ebug/
-[Dd]ebugPublic/
-[Rr]elease/
-[Rr]eleases/
-x64/
-x86/
-bld/
-[Oo]bj/
-[Ll]og/
-
-# Visual Studio 2015 cache/options directory
-.vs/
-# Uncomment if you have tasks that create the project's static files in wwwroot
-#wwwroot/
-
-# MSTest test Results
-[Tt]est[Rr]esult*/
-[Bb]uild[Ll]og.*
-
-# NUNIT
-*.VisualState.xml
-TestResult.xml
-
-# Build Results of an ATL Project
-[Dd]ebugPS/
-[Rr]eleasePS/
-dlldata.c
-
-# Benchmark Results
-BenchmarkDotNet.Artifacts/
-
-# .NET Core
-project.lock.json
-project.fragment.lock.json
-artifacts/
-**/Properties/launchSettings.json
-
-*_i.c
-*_p.c
-*_i.h
-*.ilk
-*.meta
-*.obj
-*.pch
-*.pdb
-*.pgc
-*.pgd
-*.sbr
-*.tlb
-*.tli
-*.tlh
-*.tmp
-*.tmp_proj
-*.log
-*.vspscc
-*.vssscc
-.builds
-*.pidb
-*.svclog
-*.scc
-
-# Chutzpah Test files
-_Chutzpah*
-
-# Visual C++ cache files
-ipch/
-*.aps
-*.ncb
-*.opendb
-*.opensdf
-#*.sdf
-*.cachefile
-*.VC.db
-*.VC.VC.opendb
-
-# Visual Studio profiler
-*.psess
-*.vsp
-*.vspx
-*.sap
-
-# TFS 2012 Local Workspace
-$tf/
-
-# Guidance Automation Toolkit
-*.gpState
-
-# ReSharper is a .NET coding add-in
-_ReSharper*/
-*.[Rr]e[Ss]harper
-*.DotSettings.user
-
-# JustCode is a .NET coding add-in
-.JustCode
-
-# TeamCity is a build add-in
-_TeamCity*
-
-# DotCover is a Code Coverage Tool
-*.dotCover
-
-# AxoCover is a Code Coverage Tool
-.axoCover/*
-!.axoCover/settings.json
-
-# Visual Studio code coverage results
-*.coverage
-*.coveragexml
-
-# NCrunch
-_NCrunch_*
-.*crunch*.local.xml
-nCrunchTemp_*
-
-# MightyMoose
-*.mm.*
-AutoTest.Net/
-
-# Web workbench (sass)
-.sass-cache/
-
-# Installshield output folder
-[Ee]xpress/
-
-# DocProject is a documentation generator add-in
-DocProject/buildhelp/
-DocProject/Help/*.HxT
-DocProject/Help/*.HxC
-DocProject/Help/*.hhc
-DocProject/Help/*.hhk
-DocProject/Help/*.hhp
-DocProject/Help/Html2
-DocProject/Help/html
-
-# Click-Once directory
-publish/
-
-# Publish Web Output
-*.[Pp]ublish.xml
-*.azurePubxml
-# Note: Comment the next line if you want to checkin your web deploy settings,
-# but database connection strings (with potential passwords) will be unencrypted
-*.pubxml
-*.publishproj
-
-# Microsoft Azure Web App publish settings. Comment the next line if you want to
-# checkin your Azure Web App publish settings, but sensitive information contained
-# in these scripts will be unencrypted
-PublishScripts/
-
-# NuGet Packages
-*.nupkg
-# The packages folder can be ignored because of Package Restore
-**/packages/*
-# except build/, which is used as an MSBuild target.
-!**/packages/build/
-# Uncomment if necessary however generally it will be regenerated when needed
-#!**/packages/repositories.config
-# NuGet v3's project.json files produces more ignorable files
-*.nuget.props
-*.nuget.targets
-
-# Microsoft Azure Build Output
-csx/
-*.build.csdef
-
-# Microsoft Azure Emulator
-ecf/
-rcf/
-
-# Windows Store app package directories and files
-AppPackages/
-BundleArtifacts/
-Package.StoreAssociation.xml
-_pkginfo.txt
-*.appx
-
-# Visual Studio cache files
-# files ending in .cache can be ignored
-*.[Cc]ache
-# but keep track of directories ending in .cache
-!*.[Cc]ache/
-
-# Others
-ClientBin/
-~$*
-*~
-*.dbmdl
-*.dbproj.schemaview
-*.jfm
-*.pfx
-*.publishsettings
-orleans.codegen.cs
-
-# Since there are multiple workflows, uncomment next line to ignore bower_components
-# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
-#bower_components/
-
-# RIA/Silverlight projects
-Generated_Code/
-
-# Backup & report files from converting an old project file
-# to a newer Visual Studio version. Backup files are not needed,
-# because we have git ;-)
-_UpgradeReport_Files/
-Backup*/
-UpgradeLog*.XML
-UpgradeLog*.htm
-
-# SQL Server files
-#*.mdf
-#*.ldf
-#*.ndf
-
-# Business Intelligence projects
-*.rdl.data
-*.bim.layout
-*.bim_*.settings
-
-# Microsoft Fakes
-FakesAssemblies/
-
-# GhostDoc plugin setting file
-*.GhostDoc.xml
-
-# Node.js Tools for Visual Studio
-.ntvs_analysis.dat
-node_modules/
-
-# Typescript v1 declaration files
-typings/
-
-# Visual Studio 6 build log
-*.plg
-
-# Visual Studio 6 workspace options file
-*.opt
-
-# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
-*.vbw
-
-# Visual Studio LightSwitch build output
-**/*.HTMLClient/GeneratedArtifacts
-**/*.DesktopClient/GeneratedArtifacts
-**/*.DesktopClient/ModelManifest.xml
-**/*.Server/GeneratedArtifacts
-**/*.Server/ModelManifest.xml
-_Pvt_Extensions
-
-# Paket dependency manager
-.paket/paket.exe
-paket-files/
-
-# FAKE - F# Make
-.fake/
-
-# JetBrains Rider
-.idea/
-*.sln.iml
-
-# CodeRush
-.cr/
-
-# Python Tools for Visual Studio (PTVS)
-__pycache__/
-*.pyc
-
-# Cake - Uncomment if you are using it
-# tools/**
-# !tools/packages.config
-
-# Tabs Studio
-*.tss
-
-# Telerik's JustMock configuration file
-*.jmconfig
-
-# BizTalk build output
-*.btp.cs
-*.btm.cs
-*.odx.cs
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+bld/
+[Oo]bj/
+[Ll]og/
+
+# Visual Studio 2015 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+**/Properties/launchSettings.json
+
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+#*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/packages/*
+# except build/, which is used as an MSBuild target.
+!**/packages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/packages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+
+# SQL Server files
+#*.mdf
+#*.ldf
+#*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Typescript v1 declaration files
+typings/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# JetBrains Rider
+.idea/
+*.sln.iml
+
+# CodeRush
+.cr/
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
*.xsd.cs
\ No newline at end of file
diff --git a/CS/CustomReportParameterType.sln b/CS/CustomReportParameterType.sln
index 6f15175..44e5538 100644
--- a/CS/CustomReportParameterType.sln
+++ b/CS/CustomReportParameterType.sln
@@ -1,34 +1,34 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28010.2026
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomReportParameterType", "CustomReportParameterType\CustomReportParameterType.csproj", "{0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- DebugTest|Any CPU = DebugTest|Any CPU
- DebugTestWithGAC|Any CPU = DebugTestWithGAC|Any CPU
- DebugWithGAC|Any CPU = DebugWithGAC|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTest|Any CPU.ActiveCfg = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTest|Any CPU.Build.0 = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTestWithGAC|Any CPU.ActiveCfg = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTestWithGAC|Any CPU.Build.0 = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugWithGAC|Any CPU.ActiveCfg = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugWithGAC|Any CPU.Build.0 = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {245D0081-4EFA-4721-85A5-88441D6B7B85}
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28010.2026
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomReportParameterType", "CustomReportParameterType\CustomReportParameterType.csproj", "{0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ DebugTest|Any CPU = DebugTest|Any CPU
+ DebugTestWithGAC|Any CPU = DebugTestWithGAC|Any CPU
+ DebugWithGAC|Any CPU = DebugWithGAC|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTest|Any CPU.ActiveCfg = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTest|Any CPU.Build.0 = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTestWithGAC|Any CPU.ActiveCfg = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTestWithGAC|Any CPU.Build.0 = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugWithGAC|Any CPU.ActiveCfg = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugWithGAC|Any CPU.Build.0 = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {245D0081-4EFA-4721-85A5-88441D6B7B85}
+ EndGlobalSection
+EndGlobal
diff --git a/CS/CustomReportParameterType/App_Start/FilterConfig.cs b/CS/CustomReportParameterType/App_Start/FilterConfig.cs
index 15925f1..ed4b62a 100644
--- a/CS/CustomReportParameterType/App_Start/FilterConfig.cs
+++ b/CS/CustomReportParameterType/App_Start/FilterConfig.cs
@@ -1,10 +1,10 @@
-using System.Web;
-using System.Web.Mvc;
-
-namespace CustomReportParameterType {
- public class FilterConfig {
- public static void RegisterGlobalFilters(GlobalFilterCollection filters) {
- filters.Add(new HandleErrorAttribute());
- }
- }
-}
\ No newline at end of file
+using System.Web;
+using System.Web.Mvc;
+
+namespace CustomReportParameterType {
+ public class FilterConfig {
+ public static void RegisterGlobalFilters(GlobalFilterCollection filters) {
+ filters.Add(new HandleErrorAttribute());
+ }
+ }
+}
diff --git a/CS/CustomReportParameterType/App_Start/RouteConfig.cs b/CS/CustomReportParameterType/App_Start/RouteConfig.cs
index 65db7eb..99ae061 100644
--- a/CS/CustomReportParameterType/App_Start/RouteConfig.cs
+++ b/CS/CustomReportParameterType/App_Start/RouteConfig.cs
@@ -1,21 +1,21 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Web;
-using System.Web.Mvc;
-using System.Web.Routing;
-
-namespace CustomReportParameterType {
- public class RouteConfig {
- public static void RegisterRoutes(RouteCollection routes) {
- routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
- routes.IgnoreRoute("{resource}.ashx/{*pathInfo}");
-
- routes.MapRoute(
- name: "Default", // Route name
- url: "{controller}/{action}/{id}", // URL with parameters
- defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
- );
- }
- }
-}
\ No newline at end of file
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.Mvc;
+using System.Web.Routing;
+
+namespace CustomReportParameterType {
+ public class RouteConfig {
+ public static void RegisterRoutes(RouteCollection routes) {
+ routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
+ routes.IgnoreRoute("{resource}.ashx/{*pathInfo}");
+
+ routes.MapRoute(
+ name: "Default", // Route name
+ url: "{controller}/{action}/{id}", // URL with parameters
+ defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
+ );
+ }
+ }
+}
diff --git a/CS/CustomReportParameterType/App_Start/WebApiConfig.cs b/CS/CustomReportParameterType/App_Start/WebApiConfig.cs
index b41d660..888d209 100644
--- a/CS/CustomReportParameterType/App_Start/WebApiConfig.cs
+++ b/CS/CustomReportParameterType/App_Start/WebApiConfig.cs
@@ -1,16 +1,16 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Web.Http;
-
-namespace CustomReportParameterType {
- public static class WebApiConfig {
- public static void Register(HttpConfiguration config) {
- config.Routes.MapHttpRoute(
- name: "DefaultApi",
- routeTemplate: "api/{controller}/{id}",
- defaults: new { id = RouteParameter.Optional }
- );
- }
- }
-}
\ No newline at end of file
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web.Http;
+
+namespace CustomReportParameterType {
+ public static class WebApiConfig {
+ public static void Register(HttpConfiguration config) {
+ config.Routes.MapHttpRoute(
+ name: "DefaultApi",
+ routeTemplate: "api/{controller}/{id}",
+ defaults: new { id = RouteParameter.Optional }
+ );
+ }
+ }
+}
diff --git a/CS/CustomReportParameterType/Controllers/HomeController.cs b/CS/CustomReportParameterType/Controllers/HomeController.cs
index badad20..a2e17ad 100644
--- a/CS/CustomReportParameterType/Controllers/HomeController.cs
+++ b/CS/CustomReportParameterType/Controllers/HomeController.cs
@@ -1,25 +1,24 @@
-using System.Web.Mvc;
-using CustomReportParameterType.Services;
-using DevExpress.DataAccess.Sql;
-using DevExpress.XtraReports.Native;
-using DevExpress.XtraReports.UI;
-
-namespace CustomReportParameterType.Controllers {
- public class HomeController : Controller {
- public ActionResult Index() {
- return View();
- }
-
- public ActionResult Designer() {
- var report = new XtraReport();
- report.Extensions[SerializationService.Guid] = CustomDataSerializer.Name;
- return View(report);
- }
-
- public ActionResult Viewer() {
- var report = new XtraReport1();
- report.Extensions[SerializationService.Guid] = CustomDataSerializer.Name;
- return View(report);
- }
- }
-}
\ No newline at end of file
+using CustomReportParameterType.Services;
+using DevExpress.XtraReports.Native;
+using DevExpress.XtraReports.UI;
+using System.Web.Mvc;
+
+namespace CustomReportParameterType.Controllers
+{
+ public class HomeController : Controller {
+ public ActionResult Index() {
+ return View();
+ }
+
+ public ActionResult Designer() {
+ var report = new XtraReport();
+ report.Extensions[SerializationService.Guid] = CustomDataSerializer.Name;
+ return View(report);
+ }
+ public ActionResult Viewer() {
+ var report = new XtraReport1();
+ report.Extensions[SerializationService.Guid] = CustomDataSerializer.Name;
+ return View(report);
+ }
+ }
+}
diff --git a/CS/CustomReportParameterType/CustomReportParameterType.csproj b/CS/CustomReportParameterType/CustomReportParameterType.csproj
index a778208..e32dadc 100644
--- a/CS/CustomReportParameterType/CustomReportParameterType.csproj
+++ b/CS/CustomReportParameterType/CustomReportParameterType.csproj
@@ -1,209 +1,261 @@
-
-
-
-
- Debug
- AnyCPU
-
-
- 2.0
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}
- {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
- Library
- Properties
- CustomReportParameterType
- CustomReportParameterType
- v4.6.1
- false
-
-
- 4.0
- true
-
-
-
-
-
-
-
-
-
- true
- full
- false
- bin\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\
- TRACE
- prompt
- 4
-
-
-
- ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll
-
-
- ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll
-
-
-
- ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll
-
-
- ..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll
-
-
-
-
-
-
- ..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll
-
-
-
-
-
-
-
-
- ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll
-
-
- ..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll
-
-
- ..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll
-
-
- ..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll
-
-
- ..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll
-
-
- ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll
-
-
- ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll
-
-
- ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\packages\Microsoft.AspNet.WebPages.Data.3.2.3\lib\net45\WebMatrix.Data.dll
-
-
-
-
-
-
-
-
- Designer
-
-
-
-
- Designer
-
-
-
-
-
-
-
- Web.config
-
-
- Web.config
-
-
-
-
-
-
-
-
- Global.asax
-
-
- Component
-
-
-
-
-
-
-
-
-
- 10.0
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
-
-
-
-
-
-
-
-
-
-
-
-
- True
- True
- 1959
- /
- http://localhost:1959/
- False
- False
-
-
- False
-
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+
+
+ 2.0
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}
+ {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
+ Library
+ Properties
+ CustomReportParameterType
+ CustomReportParameterType
+ v4.6.1
+ false
+
+
+ 4.0
+ true
+
+
+
+
+
+
+
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+ true
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll
+
+
+ ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll
+
+
+
+ ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll
+
+
+ ..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll
+
+
+
+
+
+
+ ..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll
+
+
+
+
+
+
+
+
+ ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll
+
+
+ ..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll
+
+
+ ..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll
+
+
+ ..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll
+
+
+ ..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll
+
+
+ ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll
+
+
+ ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll
+
+
+ ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll
+
+
+
+
+
+
+
+
+
+
+
+ ..\packages\Microsoft.AspNet.WebPages.Data.3.2.3\lib\net45\WebMatrix.Data.dll
+
+
+
+
+
+
+
+
+ Designer
+
+
+
+
+ Designer
+
+
+
+
+
+
+
+ Web.config
+
+
+ Web.config
+
+
+
+
+
+
+
+
+ Global.asax
+
+
+ Component
+
+
+ XtraReport1.cs
+
+
+
+
+
+
+
+
+
+
+
+ XtraReport1.cs
+
+
+
+ 10.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ True
+ 1959
+ /
+ http://localhost:1959/
+ False
+ False
+
+
+ False
+
+
+
+
+
diff --git a/CS/CustomReportParameterType/Global.asax.cs b/CS/CustomReportParameterType/Global.asax.cs
index 16d59cb..e7cf6a5 100644
--- a/CS/CustomReportParameterType/Global.asax.cs
+++ b/CS/CustomReportParameterType/Global.asax.cs
@@ -1,42 +1,38 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Web;
-using System.Web.Http;
-using System.Web.Mvc;
-using System.Web.Routing;
-using CustomReportParameterType.Services;
-using DevExpress.Web.Mvc;
-using DevExpress.XtraReports.Native;
-using DevExpress.XtraReports.Web.WebDocumentViewer;
-
-namespace CustomReportParameterType {
- // Note: For instructions on enabling IIS6 or IIS7 classic mode,
- // visit http://go.microsoft.com/?LinkId=9394801
-
- public class MvcApplication : System.Web.HttpApplication {
- protected void Application_Start() {
- DevExpress.XtraReports.Configuration.Settings.Default.UserDesignerOptions.DataBindingMode = DevExpress.XtraReports.UI.DataBindingMode.Expressions;
- DevExpress.XtraReports.Web.WebDocumentViewer.Native.WebDocumentViewerBootstrapper.SessionState = System.Web.SessionState.SessionStateBehavior.Default;
- DevExpress.XtraReports.Web.QueryBuilder.Native.QueryBuilderBootstrapper.SessionState = System.Web.SessionState.SessionStateBehavior.Default;
- DevExpress.XtraReports.Web.ReportDesigner.Native.ReportDesignerBootstrapper.SessionState = System.Web.SessionState.SessionStateBehavior.Default;
- SerializationService.RegisterSerializer(CustomDataSerializer.Name, new CustomDataSerializer());
-
- MVCxReportDesigner.StaticInitialize();
- AreaRegistration.RegisterAllAreas();
-
- GlobalConfiguration.Configure(WebApiConfig.Register);
- FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
- RouteConfig.RegisterRoutes(RouteTable.Routes);
-
- ModelBinders.Binders.DefaultBinder = new DevExpress.Web.Mvc.DevExpressEditorsBinder();
-
- DevExpress.Web.ASPxWebControl.CallbackError += Application_Error;
- }
-
- protected void Application_Error(object sender, EventArgs e) {
- Exception exception = System.Web.HttpContext.Current.Server.GetLastError();
- //TODO: Handle Exception
- }
- }
-}
\ No newline at end of file
+using CustomReportParameterType.Services;
+using DevExpress.Web.Mvc;
+using DevExpress.XtraReports.Native;
+using System;
+using System.Web.Http;
+using System.Web.Mvc;
+using System.Web.Routing;
+
+namespace CustomReportParameterType
+{
+ // Note: For instructions on enabling IIS6 or IIS7 classic mode,
+ // visit http://go.microsoft.com/?LinkId=9394801
+
+ public class MvcApplication : System.Web.HttpApplication {
+ protected void Application_Start() {
+ DevExpress.XtraReports.Configuration.Settings.Default.UserDesignerOptions.DataBindingMode = DevExpress.XtraReports.UI.DataBindingMode.Expressions;
+ DevExpress.XtraReports.Web.WebDocumentViewer.Native.WebDocumentViewerBootstrapper.SessionState = System.Web.SessionState.SessionStateBehavior.Default;
+ DevExpress.XtraReports.Web.QueryBuilder.Native.QueryBuilderBootstrapper.SessionState = System.Web.SessionState.SessionStateBehavior.Default;
+ DevExpress.XtraReports.Web.ReportDesigner.Native.ReportDesignerBootstrapper.SessionState = System.Web.SessionState.SessionStateBehavior.Default;
+ SerializationService.RegisterSerializer(CustomDataSerializer.Name, new CustomDataSerializer());
+ MVCxReportDesigner.StaticInitialize();
+ AreaRegistration.RegisterAllAreas();
+
+ GlobalConfiguration.Configure(WebApiConfig.Register);
+ FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
+ RouteConfig.RegisterRoutes(RouteTable.Routes);
+
+ ModelBinders.Binders.DefaultBinder = new DevExpress.Web.Mvc.DevExpressEditorsBinder();
+
+ DevExpress.Web.ASPxWebControl.CallbackError += Application_Error;
+ }
+
+ protected void Application_Error(object sender, EventArgs e) {
+ Exception exception = System.Web.HttpContext.Current.Server.GetLastError();
+ //TODO: Handle Exception
+ }
+ }
+}
diff --git a/CS/CustomReportParameterType/Reports/XtraReport1.Designer.cs b/CS/CustomReportParameterType/Reports/XtraReport1.Designer.cs
new file mode 100644
index 0000000..2f480cb
--- /dev/null
+++ b/CS/CustomReportParameterType/Reports/XtraReport1.Designer.cs
@@ -0,0 +1,312 @@
+partial class XtraReport1
+{
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.Detail = new DevExpress.XtraReports.UI.DetailBand();
+ this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
+ this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
+ this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
+ this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
+ this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
+ this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
+ this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
+ this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
+ this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
+ this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
+ this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
+ this.Title = new DevExpress.XtraReports.UI.XRControlStyle();
+ this.DetailCaption3 = new DevExpress.XtraReports.UI.XRControlStyle();
+ this.DetailData3 = new DevExpress.XtraReports.UI.XRControlStyle();
+ this.DetailData3_Odd = new DevExpress.XtraReports.UI.XRControlStyle();
+ this.DetailCaptionBackground3 = new DevExpress.XtraReports.UI.XRControlStyle();
+ this.PageInfo = new DevExpress.XtraReports.UI.XRControlStyle();
+ this.customMailParameterLookup = new DevExpress.XtraReports.Parameters.Parameter();
+ this.customMailParameterText = new DevExpress.XtraReports.Parameters.Parameter();
+ this.customMailParameterMultivalue = new DevExpress.XtraReports.Parameters.Parameter();
+ this.customMailParameterMultivalueLookup = new DevExpress.XtraReports.Parameters.Parameter();
+ ((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
+ //
+ // Detail
+ //
+ this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
+ this.xrLabel2,
+ this.xrLabel8,
+ this.xrLabel9,
+ this.xrLabel6,
+ this.xrLabel7,
+ this.xrLabel4,
+ this.xrLabel5,
+ this.xrLabel3,
+ this.xrLabel10});
+ this.Detail.HeightF = 289.7084F;
+ this.Detail.KeepTogether = true;
+ this.Detail.Name = "Detail";
+ this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
+ this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
+ //
+ // xrLabel2
+ //
+ this.xrLabel2.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+ new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterLookup]")});
+ this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(377.4291F, 47.91667F);
+ this.xrLabel2.Multiline = true;
+ this.xrLabel2.Name = "xrLabel2";
+ this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+ this.xrLabel2.SizeF = new System.Drawing.SizeF(262.5709F, 55.29165F);
+ this.xrLabel2.Text = "xrLabel2";
+ //
+ // xrLabel8
+ //
+ this.xrLabel8.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+ new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterMultivalueLookup]")});
+ this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(377.4291F, 227.125F);
+ this.xrLabel8.Multiline = true;
+ this.xrLabel8.Name = "xrLabel8";
+ this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+ this.xrLabel8.SizeF = new System.Drawing.SizeF(262.5709F, 62.58339F);
+ this.xrLabel8.Text = "xrLabel2";
+ //
+ // xrLabel9
+ //
+ this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 227.125F);
+ this.xrLabel9.Multiline = true;
+ this.xrLabel9.Name = "xrLabel9";
+ this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+ this.xrLabel9.SizeF = new System.Drawing.SizeF(377.4291F, 62.58336F);
+ this.xrLabel9.StyleName = "Title";
+ this.xrLabel9.StylePriority.UseTextAlignment = false;
+ this.xrLabel9.Text = "Multiple email addresses (predefined list):";
+ this.xrLabel9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
+ //
+ // xrLabel6
+ //
+ this.xrLabel6.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+ new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterMultivalue]")});
+ this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(377.4291F, 171.9166F);
+ this.xrLabel6.Multiline = true;
+ this.xrLabel6.Name = "xrLabel6";
+ this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+ this.xrLabel6.SizeF = new System.Drawing.SizeF(262.5709F, 23F);
+ this.xrLabel6.Text = "xrLabel2";
+ //
+ // xrLabel7
+ //
+ this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 169.3633F);
+ this.xrLabel7.Multiline = true;
+ this.xrLabel7.Name = "xrLabel7";
+ this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+ this.xrLabel7.SizeF = new System.Drawing.SizeF(377.4291F, 25.55339F);
+ this.xrLabel7.StyleName = "Title";
+ this.xrLabel7.StylePriority.UseTextAlignment = false;
+ this.xrLabel7.Text = "Multiple email addresses:";
+ this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
+ //
+ // xrLabel4
+ //
+ this.xrLabel4.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
+ new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterText]")});
+ this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(377.4291F, 115.2083F);
+ this.xrLabel4.Multiline = true;
+ this.xrLabel4.Name = "xrLabel4";
+ this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+ this.xrLabel4.SizeF = new System.Drawing.SizeF(262.5709F, 28.20834F);
+ this.xrLabel4.Text = "xrLabel2";
+ //
+ // xrLabel5
+ //
+ this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 115.2083F);
+ this.xrLabel5.Multiline = true;
+ this.xrLabel5.Name = "xrLabel5";
+ this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+ this.xrLabel5.SizeF = new System.Drawing.SizeF(377.4291F, 28.20834F);
+ this.xrLabel5.StyleName = "Title";
+ this.xrLabel5.StylePriority.UseTextAlignment = false;
+ this.xrLabel5.Text = "Single email address:";
+ this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
+ //
+ // xrLabel3
+ //
+ this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 47.91667F);
+ this.xrLabel3.Multiline = true;
+ this.xrLabel3.Name = "xrLabel3";
+ this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+ this.xrLabel3.SizeF = new System.Drawing.SizeF(377.4291F, 55.29165F);
+ this.xrLabel3.StyleName = "Title";
+ this.xrLabel3.StylePriority.UseTextAlignment = false;
+ this.xrLabel3.Text = "Single email address (predefined list):";
+ this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
+ //
+ // xrLabel10
+ //
+ this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
+ this.xrLabel10.Multiline = true;
+ this.xrLabel10.Name = "xrLabel10";
+ this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+ this.xrLabel10.SizeF = new System.Drawing.SizeF(249.4583F, 25.55338F);
+ this.xrLabel10.StyleName = "Title";
+ this.xrLabel10.Text = "Send this report to:";
+ //
+ // TopMargin
+ //
+ this.TopMargin.HeightF = 78.20841F;
+ this.TopMargin.Name = "TopMargin";
+ this.TopMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
+ this.TopMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
+ //
+ // BottomMargin
+ //
+ this.BottomMargin.Name = "BottomMargin";
+ this.BottomMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
+ this.BottomMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
+ //
+ // Title
+ //
+ this.Title.BackColor = System.Drawing.Color.Transparent;
+ this.Title.BorderColor = System.Drawing.Color.Black;
+ this.Title.Borders = DevExpress.XtraPrinting.BorderSide.None;
+ this.Title.BorderWidth = 1F;
+ this.Title.Font = new System.Drawing.Font("Tahoma", 14F);
+ this.Title.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(75)))), ((int)(((byte)(75)))), ((int)(((byte)(75)))));
+ this.Title.Name = "Title";
+ //
+ // DetailCaption3
+ //
+ this.DetailCaption3.BackColor = System.Drawing.Color.Transparent;
+ this.DetailCaption3.BorderColor = System.Drawing.Color.Transparent;
+ this.DetailCaption3.Borders = DevExpress.XtraPrinting.BorderSide.None;
+ this.DetailCaption3.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold);
+ this.DetailCaption3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(75)))), ((int)(((byte)(75)))), ((int)(((byte)(75)))));
+ this.DetailCaption3.Name = "DetailCaption3";
+ this.DetailCaption3.Padding = new DevExpress.XtraPrinting.PaddingInfo(6, 6, 0, 0, 100F);
+ this.DetailCaption3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+ //
+ // DetailData3
+ //
+ this.DetailData3.Font = new System.Drawing.Font("Tahoma", 8F);
+ this.DetailData3.ForeColor = System.Drawing.Color.Black;
+ this.DetailData3.Name = "DetailData3";
+ this.DetailData3.Padding = new DevExpress.XtraPrinting.PaddingInfo(6, 6, 0, 0, 100F);
+ this.DetailData3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+ //
+ // DetailData3_Odd
+ //
+ this.DetailData3_Odd.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(231)))), ((int)(((byte)(231)))), ((int)(((byte)(231)))));
+ this.DetailData3_Odd.BorderColor = System.Drawing.Color.Transparent;
+ this.DetailData3_Odd.Borders = DevExpress.XtraPrinting.BorderSide.None;
+ this.DetailData3_Odd.BorderWidth = 1F;
+ this.DetailData3_Odd.Font = new System.Drawing.Font("Tahoma", 8F);
+ this.DetailData3_Odd.ForeColor = System.Drawing.Color.Black;
+ this.DetailData3_Odd.Name = "DetailData3_Odd";
+ this.DetailData3_Odd.Padding = new DevExpress.XtraPrinting.PaddingInfo(6, 6, 0, 0, 100F);
+ this.DetailData3_Odd.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+ //
+ // DetailCaptionBackground3
+ //
+ this.DetailCaptionBackground3.BackColor = System.Drawing.Color.Transparent;
+ this.DetailCaptionBackground3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(206)))), ((int)(((byte)(206)))), ((int)(((byte)(206)))));
+ this.DetailCaptionBackground3.Borders = DevExpress.XtraPrinting.BorderSide.Top;
+ this.DetailCaptionBackground3.BorderWidth = 2F;
+ this.DetailCaptionBackground3.Name = "DetailCaptionBackground3";
+ //
+ // PageInfo
+ //
+ this.PageInfo.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold);
+ this.PageInfo.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(75)))), ((int)(((byte)(75)))), ((int)(((byte)(75)))));
+ this.PageInfo.Name = "PageInfo";
+ this.PageInfo.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+ //
+ // customMailParameterLookup
+ //
+ this.customMailParameterLookup.Description = "Custom Email Parameter";
+ this.customMailParameterLookup.Name = "customMailParameterLookup";
+ //
+ // customMailParameterText
+ //
+ this.customMailParameterText.Description = "Additional Custom Email Parameter";
+ this.customMailParameterText.Name = "customMailParameterText";
+ //
+ // customMailParameterMultivalue
+ //
+ this.customMailParameterMultivalue.Description = "Multi-value Email Parameter";
+ this.customMailParameterMultivalue.MultiValue = true;
+ this.customMailParameterMultivalue.Name = "customMailParameterMultivalue";
+ //
+ // customMailParameterMultivalueLookup
+ //
+ this.customMailParameterMultivalueLookup.Description = "Predefined multi-value Email parameter";
+ this.customMailParameterMultivalueLookup.MultiValue = true;
+ this.customMailParameterMultivalueLookup.Name = "customMailParameterMultivalueLookup";
+ //
+ // XtraReport1
+ //
+ this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
+ this.Detail,
+ this.TopMargin,
+ this.BottomMargin});
+ this.Margins = new System.Drawing.Printing.Margins(100, 100, 78, 100);
+ this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
+ this.customMailParameterLookup,
+ this.customMailParameterText,
+ this.customMailParameterMultivalue,
+ this.customMailParameterMultivalueLookup});
+ this.StyleSheet.AddRange(new DevExpress.XtraReports.UI.XRControlStyle[] {
+ this.Title,
+ this.DetailCaption3,
+ this.DetailData3,
+ this.DetailData3_Odd,
+ this.DetailCaptionBackground3,
+ this.PageInfo});
+ this.Version = "21.1";
+ ((System.ComponentModel.ISupportInitialize)(this)).EndInit();
+
+ }
+
+ #endregion
+
+ private DevExpress.XtraReports.UI.DetailBand Detail;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel2;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel8;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel9;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel6;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel7;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel4;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel5;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel3;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel10;
+ private DevExpress.XtraReports.UI.TopMarginBand TopMargin;
+ private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin;
+ private DevExpress.XtraReports.UI.XRControlStyle Title;
+ private DevExpress.XtraReports.UI.XRControlStyle DetailCaption3;
+ private DevExpress.XtraReports.UI.XRControlStyle DetailData3;
+ private DevExpress.XtraReports.UI.XRControlStyle DetailData3_Odd;
+ private DevExpress.XtraReports.UI.XRControlStyle DetailCaptionBackground3;
+ private DevExpress.XtraReports.UI.XRControlStyle PageInfo;
+ private DevExpress.XtraReports.Parameters.Parameter customMailParameterLookup;
+ private DevExpress.XtraReports.Parameters.Parameter customMailParameterText;
+ private DevExpress.XtraReports.Parameters.Parameter customMailParameterMultivalue;
+ private DevExpress.XtraReports.Parameters.Parameter customMailParameterMultivalueLookup;
+}
diff --git a/CS/CustomReportParameterType/Reports/XtraReport1.cs b/CS/CustomReportParameterType/Reports/XtraReport1.cs
index c9074cc..52baf06 100644
--- a/CS/CustomReportParameterType/Reports/XtraReport1.cs
+++ b/CS/CustomReportParameterType/Reports/XtraReport1.cs
@@ -1,352 +1,59 @@
-using System;
-using System.Drawing;
-using System.Collections;
-using System.ComponentModel;
-using DevExpress.XtraReports.UI;
-using DevExpress.XtraReports.Parameters;
-using CustomReportParameterType.Services;
-using System.Collections.Generic;
-
-///
-/// Summary description for XtraReport1
-///
-public class XtraReport1 : DevExpress.XtraReports.UI.XtraReport {
- private DevExpress.XtraReports.UI.DetailBand Detail;
- private DevExpress.XtraReports.UI.TopMarginBand TopMargin;
- private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin;
- private XRControlStyle Title;
- private XRControlStyle DetailCaption3;
- private XRControlStyle DetailData3;
- private XRControlStyle DetailData3_Odd;
- private XRControlStyle DetailCaptionBackground3;
- private XRControlStyle PageInfo;
- private DevExpress.XtraReports.Parameters.Parameter customMailParameterLookup;
- private XRLabel xrLabel3;
- private XRLabel xrLabel2;
- private DevExpress.XtraReports.Parameters.Parameter customMailParameterText;
- private DevExpress.XtraReports.Parameters.Parameter customMailParameterMultivalue;
- private DevExpress.XtraReports.Parameters.Parameter customMailParameterMultivalueLookup;
- private DevExpress.XtraReports.Parameters.StaticListLookUpSettings staticListLookUpSettings1 = new DevExpress.XtraReports.Parameters.StaticListLookUpSettings();
- private DevExpress.XtraReports.Parameters.StaticListLookUpSettings staticListLookUpSettings2 = new DevExpress.XtraReports.Parameters.StaticListLookUpSettings();
- private XRLabel xrLabel10;
- private XRLabel xrLabel8;
- private XRLabel xrLabel9;
- private XRLabel xrLabel6;
- private XRLabel xrLabel7;
- private XRLabel xrLabel4;
- private XRLabel xrLabel5;
-
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- public XtraReport1() {
- InitializeComponent();
- //
- // TODO: Add constructor logic here
- //
- var parameterLookUpValue1 = new CustomParameterType { Value = "MyFirtsMail@mail.com" };
- var parameterLookUpValue2 = new CustomParameterType { Value = "MySecondMail@mail.com" };
- this.staticListLookUpSettings1.LookUpValues.Add(new LookUpValue(parameterLookUpValue1, "First Mail Value"));
- this.staticListLookUpSettings1.LookUpValues.Add(new LookUpValue(parameterLookUpValue2, "Second Mail Value"));
-
- this.customMailParameterText.Value = new CustomParameterType { Value = "SampleMail@mail.com" };
-
- this.customMailParameterMultivalue.Value = new List {
- new CustomParameterType { Value = "FirstSampleMail@mail.com" },
- new CustomParameterType { Value = "SecondSampleMail@mail.com" }
- };
-
- var parameterLookUpValue3 = new CustomParameterType { Value = "MyThirdMail@mail.com" };
- var parameterLookUpValue4 = new CustomParameterType { Value = "MyFourthMail@mail.com" };
- this.staticListLookUpSettings2.LookUpValues.Add(new LookUpValue(parameterLookUpValue3, "Third Mail Value"));
- this.staticListLookUpSettings2.LookUpValues.Add(new LookUpValue(parameterLookUpValue4, "Fourth Mail Value"));
- }
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing) {
- if(disposing && (components != null)) {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent() {
- this.Detail = new DevExpress.XtraReports.UI.DetailBand();
- this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
- this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
- this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
- this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
- this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
- this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
- this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
- this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
- this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
- this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
- this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
- this.Title = new DevExpress.XtraReports.UI.XRControlStyle();
- this.DetailCaption3 = new DevExpress.XtraReports.UI.XRControlStyle();
- this.DetailData3 = new DevExpress.XtraReports.UI.XRControlStyle();
- this.DetailData3_Odd = new DevExpress.XtraReports.UI.XRControlStyle();
- this.DetailCaptionBackground3 = new DevExpress.XtraReports.UI.XRControlStyle();
- this.PageInfo = new DevExpress.XtraReports.UI.XRControlStyle();
- this.customMailParameterLookup = new DevExpress.XtraReports.Parameters.Parameter();
- this.customMailParameterText = new DevExpress.XtraReports.Parameters.Parameter();
- this.customMailParameterMultivalue = new DevExpress.XtraReports.Parameters.Parameter();
- this.customMailParameterMultivalueLookup = new DevExpress.XtraReports.Parameters.Parameter();
- ((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
- //
- // Detail
- //
- this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
- this.xrLabel2,
- this.xrLabel8,
- this.xrLabel9,
- this.xrLabel6,
- this.xrLabel7,
- this.xrLabel4,
- this.xrLabel5,
- this.xrLabel3,
- this.xrLabel10});
- this.Detail.HeightF = 289.7084F;
- this.Detail.KeepTogether = true;
- this.Detail.Name = "Detail";
- this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
- this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
- //
- // TopMargin
- //
- this.TopMargin.HeightF = 78.20841F;
- this.TopMargin.Name = "TopMargin";
- this.TopMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
- this.TopMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
- //
- // xrLabel10
- //
- this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
- this.xrLabel10.Multiline = true;
- this.xrLabel10.Name = "xrLabel10";
- this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
- this.xrLabel10.SizeF = new System.Drawing.SizeF(249.4583F, 25.55338F);
- this.xrLabel10.StyleName = "Title";
- this.xrLabel10.Text = "Send this report to:";
- //
- // xrLabel8
- //
- this.xrLabel8.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
- new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterMultivalueLookup]")});
- this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(377.4291F, 227.125F);
- this.xrLabel8.Multiline = true;
- this.xrLabel8.Name = "xrLabel8";
- this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
- this.xrLabel8.SizeF = new System.Drawing.SizeF(262.5709F, 62.58339F);
- this.xrLabel8.Text = "xrLabel2";
- //
- // xrLabel9
- //
- this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 227.125F);
- this.xrLabel9.Multiline = true;
- this.xrLabel9.Name = "xrLabel9";
- this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
- this.xrLabel9.SizeF = new System.Drawing.SizeF(377.4291F, 62.58336F);
- this.xrLabel9.StyleName = "Title";
- this.xrLabel9.StylePriority.UseTextAlignment = false;
- this.xrLabel9.Text = "Multiple email addresses (predefined list):";
- this.xrLabel9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
- //
- // xrLabel6
- //
- this.xrLabel6.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
- new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterMultivalue]")});
- this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(377.4291F, 171.9166F);
- this.xrLabel6.Multiline = true;
- this.xrLabel6.Name = "xrLabel6";
- this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
- this.xrLabel6.SizeF = new System.Drawing.SizeF(262.5709F, 23F);
- this.xrLabel6.Text = "xrLabel2";
- //
- // xrLabel7
- //
- this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 169.3633F);
- this.xrLabel7.Multiline = true;
- this.xrLabel7.Name = "xrLabel7";
- this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
- this.xrLabel7.SizeF = new System.Drawing.SizeF(377.4291F, 25.55339F);
- this.xrLabel7.StyleName = "Title";
- this.xrLabel7.StylePriority.UseTextAlignment = false;
- this.xrLabel7.Text = "Multiple email addresses:";
- this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
- //
- // xrLabel4
- //
- this.xrLabel4.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
- new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterText]")});
- this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(377.4291F, 115.2083F);
- this.xrLabel4.Multiline = true;
- this.xrLabel4.Name = "xrLabel4";
- this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
- this.xrLabel4.SizeF = new System.Drawing.SizeF(262.5709F, 28.20834F);
- this.xrLabel4.Text = "xrLabel2";
- //
- // xrLabel5
- //
- this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 115.2083F);
- this.xrLabel5.Multiline = true;
- this.xrLabel5.Name = "xrLabel5";
- this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
- this.xrLabel5.SizeF = new System.Drawing.SizeF(377.4291F, 28.20834F);
- this.xrLabel5.StyleName = "Title";
- this.xrLabel5.StylePriority.UseTextAlignment = false;
- this.xrLabel5.Text = "Single email address:";
- this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
- //
- // xrLabel3
- //
- this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 47.91667F);
- this.xrLabel3.Multiline = true;
- this.xrLabel3.Name = "xrLabel3";
- this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
- this.xrLabel3.SizeF = new System.Drawing.SizeF(377.4291F, 55.29165F);
- this.xrLabel3.StyleName = "Title";
- this.xrLabel3.StylePriority.UseTextAlignment = false;
- this.xrLabel3.Text = "Single email address (predefined list):";
- this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
- //
- // xrLabel2
- //
- this.xrLabel2.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
- new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterLookup]")});
- this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(377.4291F, 47.91667F);
- this.xrLabel2.Multiline = true;
- this.xrLabel2.Name = "xrLabel2";
- this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
- this.xrLabel2.SizeF = new System.Drawing.SizeF(262.5709F, 55.29165F);
- this.xrLabel2.Text = "xrLabel2";
- //
- // BottomMargin
- //
- this.BottomMargin.Name = "BottomMargin";
- this.BottomMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
- this.BottomMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
- //
- // Title
- //
- this.Title.BackColor = System.Drawing.Color.Transparent;
- this.Title.BorderColor = System.Drawing.Color.Black;
- this.Title.Borders = DevExpress.XtraPrinting.BorderSide.None;
- this.Title.BorderWidth = 1F;
- this.Title.Font = new System.Drawing.Font("Tahoma", 14F);
- this.Title.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(75)))), ((int)(((byte)(75)))), ((int)(((byte)(75)))));
- this.Title.Name = "Title";
- //
- // DetailCaption3
- //
- this.DetailCaption3.BackColor = System.Drawing.Color.Transparent;
- this.DetailCaption3.BorderColor = System.Drawing.Color.Transparent;
- this.DetailCaption3.Borders = DevExpress.XtraPrinting.BorderSide.None;
- this.DetailCaption3.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold);
- this.DetailCaption3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(75)))), ((int)(((byte)(75)))), ((int)(((byte)(75)))));
- this.DetailCaption3.Name = "DetailCaption3";
- this.DetailCaption3.Padding = new DevExpress.XtraPrinting.PaddingInfo(6, 6, 0, 0, 100F);
- this.DetailCaption3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
- //
- // DetailData3
- //
- this.DetailData3.Font = new System.Drawing.Font("Tahoma", 8F);
- this.DetailData3.ForeColor = System.Drawing.Color.Black;
- this.DetailData3.Name = "DetailData3";
- this.DetailData3.Padding = new DevExpress.XtraPrinting.PaddingInfo(6, 6, 0, 0, 100F);
- this.DetailData3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
- //
- // DetailData3_Odd
- //
- this.DetailData3_Odd.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(231)))), ((int)(((byte)(231)))), ((int)(((byte)(231)))));
- this.DetailData3_Odd.BorderColor = System.Drawing.Color.Transparent;
- this.DetailData3_Odd.Borders = DevExpress.XtraPrinting.BorderSide.None;
- this.DetailData3_Odd.BorderWidth = 1F;
- this.DetailData3_Odd.Font = new System.Drawing.Font("Tahoma", 8F);
- this.DetailData3_Odd.ForeColor = System.Drawing.Color.Black;
- this.DetailData3_Odd.Name = "DetailData3_Odd";
- this.DetailData3_Odd.Padding = new DevExpress.XtraPrinting.PaddingInfo(6, 6, 0, 0, 100F);
- this.DetailData3_Odd.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
- //
- // DetailCaptionBackground3
- //
- this.DetailCaptionBackground3.BackColor = System.Drawing.Color.Transparent;
- this.DetailCaptionBackground3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(206)))), ((int)(((byte)(206)))), ((int)(((byte)(206)))));
- this.DetailCaptionBackground3.Borders = DevExpress.XtraPrinting.BorderSide.Top;
- this.DetailCaptionBackground3.BorderWidth = 2F;
- this.DetailCaptionBackground3.Name = "DetailCaptionBackground3";
- //
- // PageInfo
- //
- this.PageInfo.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold);
- this.PageInfo.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(75)))), ((int)(((byte)(75)))), ((int)(((byte)(75)))));
- this.PageInfo.Name = "PageInfo";
- this.PageInfo.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
- //
- // customMailParameterLookup
- //
- this.customMailParameterLookup.Description = "Custom Email Parameter";
- this.customMailParameterLookup.LookUpSettings = staticListLookUpSettings1;
- this.customMailParameterLookup.Name = "customMailParameterLookup";
- this.customMailParameterLookup.Type = typeof(CustomReportParameterType.Services.CustomParameterType);
- //
- // customMailParameterText
- //
- this.customMailParameterText.Description = "Additional Custom Email Parameter";
- this.customMailParameterText.Name = "customMailParameterText";
- this.customMailParameterText.Type = typeof(CustomReportParameterType.Services.CustomParameterType);
- //
- // customMailParameterMultivalue
- //
- this.customMailParameterMultivalue.Description = "Multi-value Email Parameter";
- this.customMailParameterMultivalue.MultiValue = true;
- this.customMailParameterMultivalue.Name = "customMailParameterMultivalue";
- this.customMailParameterMultivalue.Type = typeof(CustomReportParameterType.Services.CustomParameterType);
- //
- // customMailParameterMultivalueLookup
- //
- this.customMailParameterMultivalueLookup.Description = "Predefined multi-value Email parameter";
- this.customMailParameterMultivalueLookup.LookUpSettings = staticListLookUpSettings2;
- this.customMailParameterMultivalueLookup.MultiValue = true;
- this.customMailParameterMultivalueLookup.Name = "customMailParameterMultivalueLookup";
- this.customMailParameterMultivalueLookup.Type = typeof(CustomReportParameterType.Services.CustomParameterType);
- this.customMailParameterMultivalueLookup.ValueInfo = "MyThirdMail@mail.com";
- //
- // XtraReport1
- //
- this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
- this.Detail,
- this.TopMargin,
- this.BottomMargin});
- this.Margins = new System.Drawing.Printing.Margins(100, 100, 78, 100);
- this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
- this.customMailParameterLookup,
- this.customMailParameterText,
- this.customMailParameterMultivalue,
- this.customMailParameterMultivalueLookup});
- this.StyleSheet.AddRange(new DevExpress.XtraReports.UI.XRControlStyle[] {
- this.Title,
- this.DetailCaption3,
- this.DetailData3,
- this.DetailData3_Odd,
- this.DetailCaptionBackground3,
- this.PageInfo});
- this.Version = "18.2";
- ((System.ComponentModel.ISupportInitialize)(this)).EndInit();
-
- }
-
- #endregion
-}
+using CustomReportParameterType.Services;
+using DevExpress.XtraReports.Parameters;
+using System.Collections.Generic;
+
+public partial class XtraReport1 : DevExpress.XtraReports.UI.XtraReport
+{
+ public XtraReport1()
+ {
+ InitializeComponent();
+
+ var staticListLookUpSettings1 = new StaticListLookUpSettings();
+ var staticListLookUpSettings2 = new StaticListLookUpSettings();
+ //
+ // customMailParameterLookup
+ //
+ customMailParameterLookup.Description = "Custom Email Parameter";
+ customMailParameterLookup.Name = "customMailParameterLookup";
+ customMailParameterLookup.Type = typeof(CustomParameterType);
+ var parameterLookUpValue1 = new CustomParameterType { Value = "MyFirtsMail@example.com" };
+ var parameterLookUpValue2 = new CustomParameterType { Value = "MySecondMail@example.com" };
+ staticListLookUpSettings1.LookUpValues.AddRange(new List {
+ new LookUpValue(parameterLookUpValue1, "First Mail Value"),
+ new LookUpValue(parameterLookUpValue2, "Second Mail Value")
+ });
+ customMailParameterLookup.ValueSourceSettings = staticListLookUpSettings1;
+ //
+ // customMailParameterText
+ //
+ customMailParameterText.Description = "Additional Custom Email Parameter";
+ customMailParameterText.Name = "customMailParameterText";
+ customMailParameterText.Type = typeof(CustomParameterType);
+ customMailParameterText.Value = new CustomParameterType { Value = "SampleMail@example.com" };
+ //
+ // customMailParameterMultivalue
+ //
+ customMailParameterMultivalue.Description = "Multi-value Email Parameter";
+ customMailParameterMultivalue.MultiValue = true;
+ customMailParameterMultivalue.Name = "customMailParameterMultivalue";
+ customMailParameterMultivalue.Type = typeof(CustomParameterType);
+ customMailParameterMultivalue.Value = new List {
+ new CustomParameterType { Value = "FirstSampleMail@example.com" },
+ new CustomParameterType { Value = "SecondSampleMail@example.com" }
+ };
+ //
+ // customMailParameterMultivalueLookup
+ //
+ customMailParameterMultivalueLookup.Description = "Predefined multi-value Email parameter";
+ customMailParameterMultivalueLookup.MultiValue = true;
+ customMailParameterMultivalueLookup.Name = "customMailParameterMultivalueLookup";
+ customMailParameterMultivalueLookup.Type = typeof(CustomParameterType);
+ var parameterLookUpValue3 = new CustomParameterType { Value = "MyThirdMail@example.com" };
+ var parameterLookUpValue4 = new CustomParameterType { Value = "MyFourthMail@example.com" };
+ staticListLookUpSettings2.LookUpValues.AddRange(new List {
+ new LookUpValue(parameterLookUpValue3, "Third Mail Value"),
+ new LookUpValue(parameterLookUpValue4, "Fourth Mail Value")
+ });
+ customMailParameterMultivalueLookup.ValueSourceSettings = staticListLookUpSettings2;
+ }
+}
diff --git a/CS/CustomReportParameterType/Reports/XtraReport1.resx b/CS/CustomReportParameterType/Reports/XtraReport1.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/CS/CustomReportParameterType/Reports/XtraReport1.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/CS/CustomReportParameterType/Services/CustomDataSerializer.cs b/CS/CustomReportParameterType/Services/CustomDataSerializer.cs
index 97298e1..775f069 100644
--- a/CS/CustomReportParameterType/Services/CustomDataSerializer.cs
+++ b/CS/CustomReportParameterType/Services/CustomDataSerializer.cs
@@ -1,35 +1,35 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using DevExpress.XtraReports.Native;
-
-namespace CustomReportParameterType.Services
-{
- public class CustomDataSerializer : IDataSerializer
- {
- public const string Name = "myCustomDataSerializer";
-
- public bool CanDeserialize(string value, string typeName, object extensionProvider)
- {
- return typeName == typeof(CustomParameterType).FullName;
- }
-
- public bool CanSerialize(object data, object extensionProvider)
- {
- return data is CustomParameterType;
- }
-
- public object Deserialize(string value, string typeName, object extensionProvider)
- {
- if (typeName == typeof(CustomParameterType).FullName) {
- return new CustomParameterType { Value = value };
- }
- return null;
- }
-
- public string Serialize(object data, object extensionProvider) {
- var parameter = data as CustomParameterType;
- return parameter != null ? parameter.Value : null;
- }
- }
-}
\ No newline at end of file
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using DevExpress.XtraReports.Native;
+
+namespace CustomReportParameterType.Services
+{
+ public class CustomDataSerializer : IDataSerializer
+ {
+ public const string Name = "myCustomDataSerializer";
+
+ public bool CanDeserialize(string value, string typeName, object extensionProvider)
+ {
+ return typeName == typeof(CustomParameterType).FullName;
+ }
+
+ public bool CanSerialize(object data, object extensionProvider)
+ {
+ return data is CustomParameterType;
+ }
+
+ public object Deserialize(string value, string typeName, object extensionProvider)
+ {
+ if (typeName == typeof(CustomParameterType).FullName) {
+ return new CustomParameterType { Value = value };
+ }
+ return null;
+ }
+
+ public string Serialize(object data, object extensionProvider) {
+ var parameter = data as CustomParameterType;
+ return parameter != null ? parameter.Value : null;
+ }
+ }
+}
diff --git a/CS/CustomReportParameterType/Services/CustomParameterType.cs b/CS/CustomReportParameterType/Services/CustomParameterType.cs
index dcfa5d9..e698239 100644
--- a/CS/CustomReportParameterType/Services/CustomParameterType.cs
+++ b/CS/CustomReportParameterType/Services/CustomParameterType.cs
@@ -1,37 +1,43 @@
-using System;
-using System.ComponentModel;
-using System.Globalization;
-
-namespace CustomReportParameterType.Services {
- [TypeConverter(typeof(CustomParameterTypeConverter))]
- public class CustomParameterType {
- public string Value { get;set; }
- public override string ToString() {
- return Value;
- }
- }
-
- //Use this class to display parameter values on document pages.
- public class CustomParameterTypeConverter : TypeConverter {
- public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) {
- if(destinationType == typeof(string)) {
- return ((CustomParameterType)value).Value;
- }
- return base.ConvertTo(context, culture, value, destinationType);
- }
- public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) {
- return destinationType == typeof(string) || base.CanConvertTo(context, destinationType);
- }
-
- public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) {
- return sourceType == typeof(string) || base.CanConvertFrom(context, sourceType);
- }
- public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) {
- var valueString = value as string;
- if(valueString != null) {
- return new CustomParameterType { Value = valueString };
- }
- return base.ConvertFrom(context, culture, value);
- }
- }
-}
\ No newline at end of file
+using System;
+using System.ComponentModel;
+using System.Globalization;
+
+namespace CustomReportParameterType.Services {
+ [TypeConverter(typeof(CustomParameterTypeConverter))]
+ public class CustomParameterType {
+ public string Value { get;set; }
+ public override string ToString() {
+ return Value;
+ }
+ }
+
+ public class CustomParameterTypeConverter : TypeConverter {
+ public override object ConvertTo(ITypeDescriptorContext context,
+ CultureInfo culture, object value, Type destinationType)
+ {
+ if(destinationType == typeof(string)) {
+ return ((CustomParameterType)value).Value;
+ }
+ return base.ConvertTo(context, culture, value, destinationType);
+ }
+ public override bool CanConvertTo(ITypeDescriptorContext context,
+ Type destinationType)
+ {
+ return destinationType == typeof(string) ||
+ base.CanConvertTo(context, destinationType);
+ }
+
+ public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) {
+ return sourceType == typeof(string) || base.CanConvertFrom(context, sourceType);
+ }
+ public override object ConvertFrom(ITypeDescriptorContext context,
+ CultureInfo culture, object value)
+ {
+ var valueString = value as string;
+ if(valueString != null) {
+ return new CustomParameterType { Value = valueString };
+ }
+ return base.ConvertFrom(context, culture, value);
+ }
+ }
+}
diff --git a/CS/CustomReportParameterType/Views/Home/Designer.cshtml b/CS/CustomReportParameterType/Views/Home/Designer.cshtml
index f89000b..c49c298 100644
--- a/CS/CustomReportParameterType/Views/Home/Designer.cshtml
+++ b/CS/CustomReportParameterType/Views/Home/Designer.cshtml
@@ -1,21 +1,21 @@
-@model XtraReport
-
-
-
-
-@Html.DevExpress().ReportDesigner(settings => {
- settings.Name = "ReportDesigner1";
- settings.ClientSideEvents.Init = "reportDesignerInit";
+@model XtraReport
+
+
+
+
+@Html.DevExpress().ReportDesigner(settings => {
+ settings.Name = "ReportDesigner1";
+ settings.ClientSideEvents.Init = "reportDesignerInit";
}).Bind(Model).GetHtml()
\ No newline at end of file
diff --git a/CS/CustomReportParameterType/Views/Home/Index.cshtml b/CS/CustomReportParameterType/Views/Home/Index.cshtml
index ab3d487..4b33039 100644
--- a/CS/CustomReportParameterType/Views/Home/Index.cshtml
+++ b/CS/CustomReportParameterType/Views/Home/Index.cshtml
@@ -1,4 +1,4 @@
-
- @Html.ActionLink("Report Designer", "Designer", "Home")
- @Html.ActionLink("Document Viewer", "Viewer", "Home")
+
+ @Html.ActionLink("Report Designer", "Designer", "Home")
+ @Html.ActionLink("Document Viewer", "Viewer", "Home")
\ No newline at end of file
diff --git a/CS/CustomReportParameterType/Views/Home/Viewer.cshtml b/CS/CustomReportParameterType/Views/Home/Viewer.cshtml
index fba541e..b4fca30 100644
--- a/CS/CustomReportParameterType/Views/Home/Viewer.cshtml
+++ b/CS/CustomReportParameterType/Views/Home/Viewer.cshtml
@@ -1,20 +1,23 @@
-@model DevExpress.XtraReports.UI.XtraReport
-
-
-
-@Html.DevExpress().WebDocumentViewer(settings => {
- settings.Name = "WebDocumentViewer1";
- settings.ClientSideEvents.CustomizeParameterEditors = "customizeParameterEditors";
+@model DevExpress.XtraReports.UI.XtraReport
+
+
+
+@Html.DevExpress().WebDocumentViewer(settings => {
+ settings.Name = "WebDocumentViewer1";
+ settings.ClientSideEvents.CustomizeParameterEditors = "customizeParameterEditors";
}).Bind(Model).GetHtml()
\ No newline at end of file
diff --git a/CS/CustomReportParameterType/Views/Shared/_Layout.cshtml b/CS/CustomReportParameterType/Views/Shared/_Layout.cshtml
index 26f28ba..86472e7 100644
--- a/CS/CustomReportParameterType/Views/Shared/_Layout.cshtml
+++ b/CS/CustomReportParameterType/Views/Shared/_Layout.cshtml
@@ -1,31 +1,31 @@
-
-
-
-
-
- DevExpress ASP.NET project
-
- @Html.DevExpress().GetStyleSheets(
- new StyleSheet { ExtensionType = ExtensionType.ReportDesigner }
- )
- @Html.DevExpress().GetScripts(
- new Script { ExtensionType = ExtensionType.ReportDesigner }
- )
-
-
-
-
-
-
-
- @RenderBody()
-
-
-
-
-
+
+
+
+
+
+ DevExpress ASP.NET project
+
+ @Html.DevExpress().GetStyleSheets(
+ new StyleSheet { ExtensionType = ExtensionType.ReportDesigner }
+ )
+ @Html.DevExpress().GetScripts(
+ new Script { ExtensionType = ExtensionType.ReportDesigner }
+ )
+
+
+
+
+
+
+
+ @RenderBody()
+
+
+
+
+
\ No newline at end of file
diff --git a/CS/CustomReportParameterType/Views/Web.config b/CS/CustomReportParameterType/Views/Web.config
index 7102c03..c66a75a 100644
--- a/CS/CustomReportParameterType/Views/Web.config
+++ b/CS/CustomReportParameterType/Views/Web.config
@@ -1,55 +1,55 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CS/CustomReportParameterType/Views/_ViewStart.cshtml b/CS/CustomReportParameterType/Views/_ViewStart.cshtml
index c34f4d5..a105b27 100644
--- a/CS/CustomReportParameterType/Views/_ViewStart.cshtml
+++ b/CS/CustomReportParameterType/Views/_ViewStart.cshtml
@@ -1,3 +1,3 @@
-@{
- Layout = "~/Views/Shared/_Layout.cshtml";
+@{
+ Layout = "~/Views/Shared/_Layout.cshtml";
}
\ No newline at end of file
diff --git a/CS/CustomReportParameterType/Web.Debug.config b/CS/CustomReportParameterType/Web.Debug.config
index fae9cfe..c1a5642 100644
--- a/CS/CustomReportParameterType/Web.Debug.config
+++ b/CS/CustomReportParameterType/Web.Debug.config
@@ -1,30 +1,30 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CS/CustomReportParameterType/Web.Release.config b/CS/CustomReportParameterType/Web.Release.config
index da6e960..19058ed 100644
--- a/CS/CustomReportParameterType/Web.Release.config
+++ b/CS/CustomReportParameterType/Web.Release.config
@@ -1,31 +1,31 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CS/CustomReportParameterType/Web.config b/CS/CustomReportParameterType/Web.config
index fa95155..3273009 100644
--- a/CS/CustomReportParameterType/Web.config
+++ b/CS/CustomReportParameterType/Web.config
@@ -1,132 +1,132 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CS/CustomReportParameterType/packages.config b/CS/CustomReportParameterType/packages.config
index 60cbefa..625d7ea 100644
--- a/CS/CustomReportParameterType/packages.config
+++ b/CS/CustomReportParameterType/packages.config
@@ -1,14 +1,14 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
index f1900ef..bb736d3 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,5 +1,5 @@
-This code example is provided "as is" without warranty of any kind. Developer Express Inc ("DevExpress") disclaims all warranties,
-either express or implied, including the warranties of merchantability and fitness for a particular purpose.
-
-For licensing terms and conditions of DevExpress product(s) required for, or associated with the use of this code example,
+This code example is provided "as is" without warranty of any kind. Developer Express Inc ("DevExpress") disclaims all warranties,
+either express or implied, including the warranties of merchantability and fitness for a particular purpose.
+
+For licensing terms and conditions of DevExpress product(s) required for, or associated with the use of this code example,
please refer to the applicable End-User License Agreement at https://www.devexpress.com/Support/licensingfaq.xml
\ No newline at end of file
diff --git a/Readme.md b/Readme.md
index 73d6c03..86da012 100644
--- a/Readme.md
+++ b/Readme.md
@@ -1,9 +1,22 @@
-# How to use custom report parameter types in web reporting controls
+
+
+[](https://supportcenter.devexpress.com/ticket/details/T830516)
+[](https://docs.devexpress.com/GeneralInformation/403183)
+[](#does-this-example-address-your-development-requirementsobjectives)
+
+# How to use custom report parameter types in web reporting controls
+
+This example demonstrates how to register custom types for report parameters, provide custom editors for them and implement serialization/deserialization logic.
+
+**See also**:
+
+Register Custom Report Parameter Types
+
+Provide Custom Editors for Report Parameters
+
+## Does this example address your development requirements/objectives?
-This example demonstrates how to register custom types for report parameters, provide custom editors for them and implement serialization/deserialization logic.
+[
](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=reporting-mvc-custom-parameter-editor&~~~was_helpful=yes) [
](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=reporting-mvc-custom-parameter-editor&~~~was_helpful=no)
-**See also**:
-
-Register Custom Report Parameter Types
-
-Provide Custom Editors for Report Parameters
\ No newline at end of file
+(you will be redirected to DevExpress.com to submit your response)
+
diff --git a/VB/CustomReportParameterType.sln b/VB/CustomReportParameterType.sln
index d9a443b..7d6a2eb 100644
--- a/VB/CustomReportParameterType.sln
+++ b/VB/CustomReportParameterType.sln
@@ -1,33 +1,34 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28010.2026
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "CustomReportParameterType", "CustomReportParameterType\CustomReportParameterType.vbproj", "{0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- DebugTest|Any CPU = DebugTest|Any CPU
- DebugTestWithGAC|Any CPU = DebugTestWithGAC|Any CPU
- DebugWithGAC|Any CPU = DebugWithGAC|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTest|Any CPU.ActiveCfg = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTest|Any CPU.Build.0 = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTestWithGAC|Any CPU.ActiveCfg = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTestWithGAC|Any CPU.Build.0 = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugWithGAC|Any CPU.ActiveCfg = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugWithGAC|Any CPU.Build.0 = Debug|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {245D0081-4EFA-4721-85A5-88441D6B7B85}
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28010.2026
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "CustomReportParameterType", "CustomReportParameterType\CustomReportParameterType.vbproj", "{0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ DebugTest|Any CPU = DebugTest|Any CPU
+ DebugTestWithGAC|Any CPU = DebugTestWithGAC|Any CPU
+ DebugWithGAC|Any CPU = DebugWithGAC|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTest|Any CPU.ActiveCfg = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTest|Any CPU.Build.0 = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTestWithGAC|Any CPU.ActiveCfg = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugTestWithGAC|Any CPU.Build.0 = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugWithGAC|Any CPU.ActiveCfg = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.DebugWithGAC|Any CPU.Build.0 = Debug|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {245D0081-4EFA-4721-85A5-88441D6B7B85}
+ EndGlobalSection
+EndGlobal
diff --git a/VB/CustomReportParameterType/App_Start/FilterConfig.vb b/VB/CustomReportParameterType/App_Start/FilterConfig.vb
index 0290201..260b9f7 100644
--- a/VB/CustomReportParameterType/App_Start/FilterConfig.vb
+++ b/VB/CustomReportParameterType/App_Start/FilterConfig.vb
@@ -1,10 +1,10 @@
-Imports System.Web
-Imports System.Web.Mvc
-
-Namespace CustomReportParameterType
- Public Class FilterConfig
- Public Shared Sub RegisterGlobalFilters(ByVal filters As GlobalFilterCollection)
- filters.Add(New HandleErrorAttribute())
- End Sub
- End Class
-End Namespace
\ No newline at end of file
+Imports System.Web
+Imports System.Web.Mvc
+
+Namespace CustomReportParameterType
+ Public Class FilterConfig
+ Public Shared Sub RegisterGlobalFilters(ByVal filters As GlobalFilterCollection)
+ filters.Add(New HandleErrorAttribute())
+ End Sub
+ End Class
+End Namespace
diff --git a/VB/CustomReportParameterType/App_Start/RouteConfig.vb b/VB/CustomReportParameterType/App_Start/RouteConfig.vb
index 431c2a4..5a18da3 100644
--- a/VB/CustomReportParameterType/App_Start/RouteConfig.vb
+++ b/VB/CustomReportParameterType/App_Start/RouteConfig.vb
@@ -1,21 +1,17 @@
-Imports System
-Imports System.Collections.Generic
-Imports System.Linq
-Imports System.Web
-Imports System.Web.Mvc
-Imports System.Web.Routing
-
-Namespace CustomReportParameterType
- Public Class RouteConfig
- Public Shared Sub RegisterRoutes(ByVal routes As RouteCollection)
- routes.IgnoreRoute("{resource}.axd/{*pathInfo}")
- routes.IgnoreRoute("{resource}.ashx/{*pathInfo}")
-
- routes.MapRoute(name:="Default", url:="{controller}/{action}/{id}", defaults:=New With {
- Key .controller = "Home",
- Key .action = "Index",
- Key .id = UrlParameter.Optional
- })
- End Sub
- End Class
-End Namespace
\ No newline at end of file
+Imports System
+Imports System.Collections.Generic
+Imports System.Linq
+Imports System.Web
+Imports System.Web.Mvc
+Imports System.Web.Routing
+
+Namespace CustomReportParameterType
+ Public Class RouteConfig
+ Public Shared Sub RegisterRoutes(ByVal routes As RouteCollection)
+ routes.IgnoreRoute("{resource}.axd/{*pathInfo}")
+ routes.IgnoreRoute("{resource}.ashx/{*pathInfo}")
+
+ routes.MapRoute(name:= "Default", url:= "{controller}/{action}/{id}", defaults:= New With {Key .controller = "Home", Key .action = "Index", Key .id = UrlParameter.Optional}) ' Parameter defaults - URL with parameters - Route name
+ End Sub
+ End Class
+End Namespace
diff --git a/VB/CustomReportParameterType/App_Start/WebApiConfig.vb b/VB/CustomReportParameterType/App_Start/WebApiConfig.vb
index e55aa59..d381426 100644
--- a/VB/CustomReportParameterType/App_Start/WebApiConfig.vb
+++ b/VB/CustomReportParameterType/App_Start/WebApiConfig.vb
@@ -1,16 +1,16 @@
-Imports System
-Imports System.Collections.Generic
-Imports System.Linq
-Imports System.Web.Http
-
-Namespace CustomReportParameterType
- Public NotInheritable Class WebApiConfig
-
- Private Sub New()
- End Sub
-
- Public Shared Sub Register(ByVal config As HttpConfiguration)
- config.Routes.MapHttpRoute(name:= "DefaultApi", routeTemplate:= "api/{controller}/{id}", defaults:= New With {Key .id = RouteParameter.Optional})
- End Sub
- End Class
-End Namespace
\ No newline at end of file
+Imports System
+Imports System.Collections.Generic
+Imports System.Linq
+Imports System.Web.Http
+
+Namespace CustomReportParameterType
+ Public NotInheritable Class WebApiConfig
+
+ Private Sub New()
+ End Sub
+
+ Public Shared Sub Register(ByVal config As HttpConfiguration)
+ config.Routes.MapHttpRoute(name:= "DefaultApi", routeTemplate:= "api/{controller}/{id}", defaults:= New With {Key .id = RouteParameter.Optional})
+ End Sub
+ End Class
+End Namespace
diff --git a/VB/CustomReportParameterType/Controllers/HomeController.vb b/VB/CustomReportParameterType/Controllers/HomeController.vb
index 041b7a0..a3f3696 100644
--- a/VB/CustomReportParameterType/Controllers/HomeController.vb
+++ b/VB/CustomReportParameterType/Controllers/HomeController.vb
@@ -1,27 +1,31 @@
-Imports System.Web.Mvc
-Imports CustomReportParameterType.Services
-Imports DevExpress.DataAccess.Sql
-Imports DevExpress.XtraReports.Native
-Imports DevExpress.XtraReports.UI
-
-Namespace CustomReportParameterType.Controllers
- Public Class HomeController
- Inherits Controller
-
- Public Function Index() As ActionResult
- Return View()
- End Function
-
- Public Function Designer() As ActionResult
- Dim report = New XtraReport()
- report.Extensions(SerializationService.Guid) = CustomDataSerializer.Name
- Return View(report)
- End Function
-
- Public Function Viewer() As ActionResult
- Dim report = New XtraReport1()
- report.Extensions(SerializationService.Guid) = CustomDataSerializer.Name
- Return View(report)
- End Function
- End Class
-End Namespace
\ No newline at end of file
+#Region "usings"
+Imports CustomReportParameterType.Services
+Imports DevExpress.XtraReports.Native
+Imports DevExpress.XtraReports.UI
+Imports System.Web.Mvc
+#End Region ' usings
+
+Namespace CustomReportParameterType.Controllers
+ #Region "#controller_Home"
+ Public Class HomeController
+ Inherits Controller
+
+ #End Region
+ Public Function Index() As ActionResult
+ Return View()
+ End Function
+
+ Public Function Designer() As ActionResult
+ Dim report = New XtraReport()
+ report.Extensions(SerializationService.Guid) = CustomDataSerializer.Name
+ Return View(report)
+ End Function
+ #Region "action_Viewer"
+ Public Function Viewer() As ActionResult
+ Dim report = New XtraReport1()
+ report.Extensions(SerializationService.Guid) = CustomDataSerializer.Name
+ Return View(report)
+ End Function
+ #End Region
+ End Class
+End Namespace
diff --git a/VB/CustomReportParameterType/CustomReportParameterType.vbproj b/VB/CustomReportParameterType/CustomReportParameterType.vbproj
index a1d3b05..e9fed2d 100644
--- a/VB/CustomReportParameterType/CustomReportParameterType.vbproj
+++ b/VB/CustomReportParameterType/CustomReportParameterType.vbproj
@@ -1,224 +1,277 @@
-
-
-
-
- Debug
- AnyCPU
-
-
- 2.0
- {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}
- {349c5851-65df-11da-9384-00065b846f21};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}
- Library
-
- CustomReportParameterType
- v4.6.1
- false
-
-
- 4.0
- true
-
-
-
-
-
-
-
- On
- Binary
- Off
- On
-
-
- true
- full
- false
- bin\
- true
- true
- prompt
-
-
- pdbonly
- true
- bin\
- false
- true
- prompt
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll
-
-
- ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll
-
-
-
- ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll
-
-
- ..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll
-
-
-
-
-
-
- ..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll
-
-
-
-
-
-
-
-
- ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll
-
-
- ..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll
-
-
- ..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll
-
-
- ..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll
-
-
- ..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll
-
-
- ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll
-
-
- ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll
-
-
- ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\packages\Microsoft.AspNet.WebPages.Data.3.2.3\lib\net45\WebMatrix.Data.dll
-
-
-
-
-
-
-
-
- Designer
-
-
-
-
- Designer
-
-
-
-
-
-
-
- Web.config
-
-
- Web.config
-
-
-
-
-
-
-
-
- Global.asax
-
-
- Component
-
-
-
-
-
-
-
-
-
- 10.0
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
-
-
-
-
-
-
-
-
-
-
-
-
- True
- True
- 1959
- /
- http://localhost:1959/
- False
- False
-
-
- False
-
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+
+
+ 2.0
+ {0CEF0C31-B5AF-44A1-9DD2-90DC4F698123}
+ {349c5851-65df-11da-9384-00065b846f21};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}
+ Library
+
+
+ CustomReportParameterType
+ v4.6.1
+ false
+
+
+ 4.0
+ true
+
+
+
+
+
+
+
+ On
+ Binary
+ Off
+ On
+
+
+ true
+ full
+ false
+ bin\Debug\
+ true
+ true
+ prompt
+ true
+
+
+ pdbonly
+ true
+ bin\Release\
+ false
+ true
+ prompt
+
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll
+
+
+ ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll
+
+
+
+ ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll
+
+
+ ..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll
+
+
+
+
+
+
+ ..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll
+
+
+
+
+
+
+
+
+ ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll
+
+
+ ..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll
+
+
+ ..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll
+
+
+ ..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll
+
+
+ ..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll
+
+
+ ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll
+
+
+ ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll
+
+
+ ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll
+
+
+
+
+
+
+
+
+
+
+
+ ..\packages\Microsoft.AspNet.WebPages.Data.3.2.3\lib\net45\WebMatrix.Data.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Designer
+
+
+
+
+ Designer
+
+
+
+
+
+
+
+ Web.config
+
+
+ Web.config
+
+
+
+
+
+
+
+
+ Global.asax
+
+
+ Component
+
+
+ XtraReport1.vb
+
+
+
+
+
+
+
+
+
+
+
+ XtraReport1.vb
+
+
+
+ 10.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ True
+ 1959
+ /
+ http://localhost:1959/
+ False
+ False
+
+
+ False
+
+
+
+
+
diff --git a/VB/CustomReportParameterType/Global.asax.vb b/VB/CustomReportParameterType/Global.asax.vb
index ab3f888..b73a67c 100644
--- a/VB/CustomReportParameterType/Global.asax.vb
+++ b/VB/CustomReportParameterType/Global.asax.vb
@@ -1,44 +1,47 @@
-Imports System
-Imports System.Collections.Generic
-Imports System.Linq
-Imports System.Web
-Imports System.Web.Http
-Imports System.Web.Mvc
-Imports System.Web.Routing
-Imports CustomReportParameterType.Services
-Imports DevExpress.Web.Mvc
-Imports DevExpress.XtraReports.Native
-Imports DevExpress.XtraReports.Web.WebDocumentViewer
-
-Namespace CustomReportParameterType
- ' Note: For instructions on enabling IIS6 or IIS7 classic mode,
- ' visit http://go.microsoft.com/?LinkId=9394801
-
- Public Class MvcApplication
- Inherits System.Web.HttpApplication
-
- Protected Sub Application_Start()
- DevExpress.XtraReports.Configuration.Settings.Default.UserDesignerOptions.DataBindingMode = DevExpress.XtraReports.UI.DataBindingMode.Expressions
- DevExpress.XtraReports.Web.WebDocumentViewer.Native.WebDocumentViewerBootstrapper.SessionState = System.Web.SessionState.SessionStateBehavior.Default
- DevExpress.XtraReports.Web.QueryBuilder.Native.QueryBuilderBootstrapper.SessionState = System.Web.SessionState.SessionStateBehavior.Default
- DevExpress.XtraReports.Web.ReportDesigner.Native.ReportDesignerBootstrapper.SessionState = System.Web.SessionState.SessionStateBehavior.Default
- SerializationService.RegisterSerializer(CustomDataSerializer.Name, New CustomDataSerializer())
-
- MVCxReportDesigner.StaticInitialize()
- AreaRegistration.RegisterAllAreas()
-
- GlobalConfiguration.Configure(AddressOf WebApiConfig.Register)
- FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters)
- RouteConfig.RegisterRoutes(RouteTable.Routes)
-
- ModelBinders.Binders.DefaultBinder = New DevExpress.Web.Mvc.DevExpressEditorsBinder()
-
- AddHandler DevExpress.Web.ASPxWebControl.CallbackError, AddressOf Application_Error
- End Sub
-
- Protected Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
- Dim exception As Exception = System.Web.HttpContext.Current.Server.GetLastError()
- 'TODO: Handle Exception
- End Sub
- End Class
-End Namespace
\ No newline at end of file
+Imports System
+Imports System.Collections.Generic
+Imports System.Linq
+Imports System.Web
+Imports System.Web.Http
+Imports System.Web.Mvc
+Imports System.Web.Routing
+Imports CustomReportParameterType.Services
+Imports DevExpress.Web.Mvc
+Imports DevExpress.XtraReports.Native
+Imports DevExpress.XtraReports.Web.WebDocumentViewer
+
+Namespace CustomReportParameterType
+ ' Note: For instructions on enabling IIS6 or IIS7 classic mode,
+ ' visit http://go.microsoft.com/?LinkId=9394801
+
+ Public Class MvcApplication
+ Inherits System.Web.HttpApplication
+#Region "Application_Start"
+ Protected Sub Application_Start()
+#End Region
+ DevExpress.XtraReports.Configuration.Settings.Default.UserDesignerOptions.DataBindingMode = DevExpress.XtraReports.UI.DataBindingMode.Expressions
+ DevExpress.XtraReports.Web.WebDocumentViewer.Native.WebDocumentViewerBootstrapper.SessionState = System.Web.SessionState.SessionStateBehavior.Default
+ DevExpress.XtraReports.Web.QueryBuilder.Native.QueryBuilderBootstrapper.SessionState = System.Web.SessionState.SessionStateBehavior.Default
+ DevExpress.XtraReports.Web.ReportDesigner.Native.ReportDesignerBootstrapper.SessionState = System.Web.SessionState.SessionStateBehavior.Default
+#Region "RegisterSerializer"
+ SerializationService.RegisterSerializer(CustomDataSerializer.Name, New CustomDataSerializer())
+#End Region
+
+ MVCxReportDesigner.StaticInitialize()
+ AreaRegistration.RegisterAllAreas()
+
+ GlobalConfiguration.Configure(AddressOf WebApiConfig.Register)
+ FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters)
+ RouteConfig.RegisterRoutes(RouteTable.Routes)
+
+ ModelBinders.Binders.DefaultBinder = New DevExpress.Web.Mvc.DevExpressEditorsBinder()
+
+ AddHandler DevExpress.Web.ASPxWebControl.CallbackError, AddressOf Application_Error
+ End Sub
+
+ Protected Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
+ Dim exception As Exception = System.Web.HttpContext.Current.Server.GetLastError()
+ 'TODO: Handle Exception
+ End Sub
+ End Class
+End Namespace
diff --git a/VB/CustomReportParameterType/Reports/XtraReport1.Designer.vb b/VB/CustomReportParameterType/Reports/XtraReport1.Designer.vb
new file mode 100644
index 0000000..ec3d7c0
--- /dev/null
+++ b/VB/CustomReportParameterType/Reports/XtraReport1.Designer.vb
@@ -0,0 +1,282 @@
+Partial Public Class XtraReport1
+ '''
+ ''' Required designer variable.
+ '''
+ Private components As System.ComponentModel.IContainer = Nothing
+
+ '''
+ ''' Clean up any resources being used.
+ '''
+ ''' true if managed resources should be disposed; otherwise, false.
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ If disposing AndAlso (components IsNot Nothing) Then
+ components.Dispose()
+ End If
+ MyBase.Dispose(disposing)
+ End Sub
+
+ #Region "Designer generated code"
+
+ '''
+ ''' Required method for Designer support - do not modify
+ ''' the contents of this method with the code editor.
+ '''
+ Private Sub InitializeComponent()
+ Me.Detail = New DevExpress.XtraReports.UI.DetailBand()
+ Me.xrLabel2 = New DevExpress.XtraReports.UI.XRLabel()
+ Me.xrLabel8 = New DevExpress.XtraReports.UI.XRLabel()
+ Me.xrLabel9 = New DevExpress.XtraReports.UI.XRLabel()
+ Me.xrLabel6 = New DevExpress.XtraReports.UI.XRLabel()
+ Me.xrLabel7 = New DevExpress.XtraReports.UI.XRLabel()
+ Me.xrLabel4 = New DevExpress.XtraReports.UI.XRLabel()
+ Me.xrLabel5 = New DevExpress.XtraReports.UI.XRLabel()
+ Me.xrLabel3 = New DevExpress.XtraReports.UI.XRLabel()
+ Me.xrLabel10 = New DevExpress.XtraReports.UI.XRLabel()
+ Me.TopMargin = New DevExpress.XtraReports.UI.TopMarginBand()
+ Me.BottomMargin = New DevExpress.XtraReports.UI.BottomMarginBand()
+ Me.Title = New DevExpress.XtraReports.UI.XRControlStyle()
+ Me.DetailCaption3 = New DevExpress.XtraReports.UI.XRControlStyle()
+ Me.DetailData3 = New DevExpress.XtraReports.UI.XRControlStyle()
+ Me.DetailData3_Odd = New DevExpress.XtraReports.UI.XRControlStyle()
+ Me.DetailCaptionBackground3 = New DevExpress.XtraReports.UI.XRControlStyle()
+ Me.PageInfo = New DevExpress.XtraReports.UI.XRControlStyle()
+ Me.customMailParameterLookup = New DevExpress.XtraReports.Parameters.Parameter()
+ Me.customMailParameterText = New DevExpress.XtraReports.Parameters.Parameter()
+ Me.customMailParameterMultivalue = New DevExpress.XtraReports.Parameters.Parameter()
+ Me.customMailParameterMultivalueLookup = New DevExpress.XtraReports.Parameters.Parameter()
+ DirectCast(Me, System.ComponentModel.ISupportInitialize).BeginInit()
+ '
+ ' Detail
+ '
+ Me.Detail.Controls.AddRange(New DevExpress.XtraReports.UI.XRControl() { Me.xrLabel2, Me.xrLabel8, Me.xrLabel9, Me.xrLabel6, Me.xrLabel7, Me.xrLabel4, Me.xrLabel5, Me.xrLabel3, Me.xrLabel10})
+ Me.Detail.HeightF = 289.7084F
+ Me.Detail.KeepTogether = True
+ Me.Detail.Name = "Detail"
+ Me.Detail.Padding = New DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F)
+ Me.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft
+ '
+ ' xrLabel2
+ '
+ Me.xrLabel2.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() { New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterLookup]")})
+ Me.xrLabel2.LocationFloat = New DevExpress.Utils.PointFloat(377.4291F, 47.91667F)
+ Me.xrLabel2.Multiline = True
+ Me.xrLabel2.Name = "xrLabel2"
+ Me.xrLabel2.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F)
+ Me.xrLabel2.SizeF = New System.Drawing.SizeF(262.5709F, 55.29165F)
+ Me.xrLabel2.Text = "xrLabel2"
+ '
+ ' xrLabel8
+ '
+ Me.xrLabel8.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() { New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterMultivalueLookup]")})
+ Me.xrLabel8.LocationFloat = New DevExpress.Utils.PointFloat(377.4291F, 227.125F)
+ Me.xrLabel8.Multiline = True
+ Me.xrLabel8.Name = "xrLabel8"
+ Me.xrLabel8.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F)
+ Me.xrLabel8.SizeF = New System.Drawing.SizeF(262.5709F, 62.58339F)
+ Me.xrLabel8.Text = "xrLabel2"
+ '
+ ' xrLabel9
+ '
+ Me.xrLabel9.LocationFloat = New DevExpress.Utils.PointFloat(0F, 227.125F)
+ Me.xrLabel9.Multiline = True
+ Me.xrLabel9.Name = "xrLabel9"
+ Me.xrLabel9.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F)
+ Me.xrLabel9.SizeF = New System.Drawing.SizeF(377.4291F, 62.58336F)
+ Me.xrLabel9.StyleName = "Title"
+ Me.xrLabel9.StylePriority.UseTextAlignment = False
+ Me.xrLabel9.Text = "Multiple email addresses (predefined list):"
+ Me.xrLabel9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft
+ '
+ ' xrLabel6
+ '
+ Me.xrLabel6.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() { New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterMultivalue]")})
+ Me.xrLabel6.LocationFloat = New DevExpress.Utils.PointFloat(377.4291F, 171.9166F)
+ Me.xrLabel6.Multiline = True
+ Me.xrLabel6.Name = "xrLabel6"
+ Me.xrLabel6.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F)
+ Me.xrLabel6.SizeF = New System.Drawing.SizeF(262.5709F, 23F)
+ Me.xrLabel6.Text = "xrLabel2"
+ '
+ ' xrLabel7
+ '
+ Me.xrLabel7.LocationFloat = New DevExpress.Utils.PointFloat(0F, 169.3633F)
+ Me.xrLabel7.Multiline = True
+ Me.xrLabel7.Name = "xrLabel7"
+ Me.xrLabel7.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F)
+ Me.xrLabel7.SizeF = New System.Drawing.SizeF(377.4291F, 25.55339F)
+ Me.xrLabel7.StyleName = "Title"
+ Me.xrLabel7.StylePriority.UseTextAlignment = False
+ Me.xrLabel7.Text = "Multiple email addresses:"
+ Me.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft
+ '
+ ' xrLabel4
+ '
+ Me.xrLabel4.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() { New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterText]")})
+ Me.xrLabel4.LocationFloat = New DevExpress.Utils.PointFloat(377.4291F, 115.2083F)
+ Me.xrLabel4.Multiline = True
+ Me.xrLabel4.Name = "xrLabel4"
+ Me.xrLabel4.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F)
+ Me.xrLabel4.SizeF = New System.Drawing.SizeF(262.5709F, 28.20834F)
+ Me.xrLabel4.Text = "xrLabel2"
+ '
+ ' xrLabel5
+ '
+ Me.xrLabel5.LocationFloat = New DevExpress.Utils.PointFloat(0F, 115.2083F)
+ Me.xrLabel5.Multiline = True
+ Me.xrLabel5.Name = "xrLabel5"
+ Me.xrLabel5.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F)
+ Me.xrLabel5.SizeF = New System.Drawing.SizeF(377.4291F, 28.20834F)
+ Me.xrLabel5.StyleName = "Title"
+ Me.xrLabel5.StylePriority.UseTextAlignment = False
+ Me.xrLabel5.Text = "Single email address:"
+ Me.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft
+ '
+ ' xrLabel3
+ '
+ Me.xrLabel3.LocationFloat = New DevExpress.Utils.PointFloat(0F, 47.91667F)
+ Me.xrLabel3.Multiline = True
+ Me.xrLabel3.Name = "xrLabel3"
+ Me.xrLabel3.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F)
+ Me.xrLabel3.SizeF = New System.Drawing.SizeF(377.4291F, 55.29165F)
+ Me.xrLabel3.StyleName = "Title"
+ Me.xrLabel3.StylePriority.UseTextAlignment = False
+ Me.xrLabel3.Text = "Single email address (predefined list):"
+ Me.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft
+ '
+ ' xrLabel10
+ '
+ Me.xrLabel10.LocationFloat = New DevExpress.Utils.PointFloat(0F, 0F)
+ Me.xrLabel10.Multiline = True
+ Me.xrLabel10.Name = "xrLabel10"
+ Me.xrLabel10.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F)
+ Me.xrLabel10.SizeF = New System.Drawing.SizeF(249.4583F, 25.55338F)
+ Me.xrLabel10.StyleName = "Title"
+ Me.xrLabel10.Text = "Send this report to:"
+ '
+ ' TopMargin
+ '
+ Me.TopMargin.HeightF = 78.20841F
+ Me.TopMargin.Name = "TopMargin"
+ Me.TopMargin.Padding = New DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F)
+ Me.TopMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft
+ '
+ ' BottomMargin
+ '
+ Me.BottomMargin.Name = "BottomMargin"
+ Me.BottomMargin.Padding = New DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F)
+ Me.BottomMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft
+ '
+ ' Title
+ '
+ Me.Title.BackColor = System.Drawing.Color.Transparent
+ Me.Title.BorderColor = System.Drawing.Color.Black
+ Me.Title.Borders = DevExpress.XtraPrinting.BorderSide.None
+ Me.Title.BorderWidth = 1F
+ Me.Title.Font = New System.Drawing.Font("Tahoma", 14F)
+ Me.Title.ForeColor = System.Drawing.Color.FromArgb((CInt((CByte(75)))), (CInt((CByte(75)))), (CInt((CByte(75)))))
+ Me.Title.Name = "Title"
+ '
+ ' DetailCaption3
+ '
+ Me.DetailCaption3.BackColor = System.Drawing.Color.Transparent
+ Me.DetailCaption3.BorderColor = System.Drawing.Color.Transparent
+ Me.DetailCaption3.Borders = DevExpress.XtraPrinting.BorderSide.None
+ Me.DetailCaption3.Font = New System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold)
+ Me.DetailCaption3.ForeColor = System.Drawing.Color.FromArgb((CInt((CByte(75)))), (CInt((CByte(75)))), (CInt((CByte(75)))))
+ Me.DetailCaption3.Name = "DetailCaption3"
+ Me.DetailCaption3.Padding = New DevExpress.XtraPrinting.PaddingInfo(6, 6, 0, 0, 100F)
+ Me.DetailCaption3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft
+ '
+ ' DetailData3
+ '
+ Me.DetailData3.Font = New System.Drawing.Font("Tahoma", 8F)
+ Me.DetailData3.ForeColor = System.Drawing.Color.Black
+ Me.DetailData3.Name = "DetailData3"
+ Me.DetailData3.Padding = New DevExpress.XtraPrinting.PaddingInfo(6, 6, 0, 0, 100F)
+ Me.DetailData3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft
+ '
+ ' DetailData3_Odd
+ '
+ Me.DetailData3_Odd.BackColor = System.Drawing.Color.FromArgb((CInt((CByte(231)))), (CInt((CByte(231)))), (CInt((CByte(231)))))
+ Me.DetailData3_Odd.BorderColor = System.Drawing.Color.Transparent
+ Me.DetailData3_Odd.Borders = DevExpress.XtraPrinting.BorderSide.None
+ Me.DetailData3_Odd.BorderWidth = 1F
+ Me.DetailData3_Odd.Font = New System.Drawing.Font("Tahoma", 8F)
+ Me.DetailData3_Odd.ForeColor = System.Drawing.Color.Black
+ Me.DetailData3_Odd.Name = "DetailData3_Odd"
+ Me.DetailData3_Odd.Padding = New DevExpress.XtraPrinting.PaddingInfo(6, 6, 0, 0, 100F)
+ Me.DetailData3_Odd.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft
+ '
+ ' DetailCaptionBackground3
+ '
+ Me.DetailCaptionBackground3.BackColor = System.Drawing.Color.Transparent
+ Me.DetailCaptionBackground3.BorderColor = System.Drawing.Color.FromArgb((CInt((CByte(206)))), (CInt((CByte(206)))), (CInt((CByte(206)))))
+ Me.DetailCaptionBackground3.Borders = DevExpress.XtraPrinting.BorderSide.Top
+ Me.DetailCaptionBackground3.BorderWidth = 2F
+ Me.DetailCaptionBackground3.Name = "DetailCaptionBackground3"
+ '
+ ' PageInfo
+ '
+ Me.PageInfo.Font = New System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold)
+ Me.PageInfo.ForeColor = System.Drawing.Color.FromArgb((CInt((CByte(75)))), (CInt((CByte(75)))), (CInt((CByte(75)))))
+ Me.PageInfo.Name = "PageInfo"
+ Me.PageInfo.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F)
+ '
+ ' customMailParameterLookup
+ '
+ Me.customMailParameterLookup.Description = "Custom Email Parameter"
+ Me.customMailParameterLookup.Name = "customMailParameterLookup"
+ '
+ ' customMailParameterText
+ '
+ Me.customMailParameterText.Description = "Additional Custom Email Parameter"
+ Me.customMailParameterText.Name = "customMailParameterText"
+ '
+ ' customMailParameterMultivalue
+ '
+ Me.customMailParameterMultivalue.Description = "Multi-value Email Parameter"
+ Me.customMailParameterMultivalue.MultiValue = True
+ Me.customMailParameterMultivalue.Name = "customMailParameterMultivalue"
+ '
+ ' customMailParameterMultivalueLookup
+ '
+ Me.customMailParameterMultivalueLookup.Description = "Predefined multi-value Email parameter"
+ Me.customMailParameterMultivalueLookup.MultiValue = True
+ Me.customMailParameterMultivalueLookup.Name = "customMailParameterMultivalueLookup"
+ '
+ ' XtraReport1
+ '
+ Me.Bands.AddRange(New DevExpress.XtraReports.UI.Band() { Me.Detail, Me.TopMargin, Me.BottomMargin})
+ Me.Margins = New System.Drawing.Printing.Margins(100, 100, 78, 100)
+ Me.Parameters.AddRange(New DevExpress.XtraReports.Parameters.Parameter() { Me.customMailParameterLookup, Me.customMailParameterText, Me.customMailParameterMultivalue, Me.customMailParameterMultivalueLookup})
+ Me.StyleSheet.AddRange(New DevExpress.XtraReports.UI.XRControlStyle() { Me.Title, Me.DetailCaption3, Me.DetailData3, Me.DetailData3_Odd, Me.DetailCaptionBackground3, Me.PageInfo})
+ Me.Version = "21.1"
+ DirectCast(Me, System.ComponentModel.ISupportInitialize).EndInit()
+
+ End Sub
+
+ #End Region
+
+ Private Detail As DevExpress.XtraReports.UI.DetailBand
+ Private xrLabel2 As DevExpress.XtraReports.UI.XRLabel
+ Private xrLabel8 As DevExpress.XtraReports.UI.XRLabel
+ Private xrLabel9 As DevExpress.XtraReports.UI.XRLabel
+ Private xrLabel6 As DevExpress.XtraReports.UI.XRLabel
+ Private xrLabel7 As DevExpress.XtraReports.UI.XRLabel
+ Private xrLabel4 As DevExpress.XtraReports.UI.XRLabel
+ Private xrLabel5 As DevExpress.XtraReports.UI.XRLabel
+ Private xrLabel3 As DevExpress.XtraReports.UI.XRLabel
+ Private xrLabel10 As DevExpress.XtraReports.UI.XRLabel
+ Private TopMargin As DevExpress.XtraReports.UI.TopMarginBand
+ Private BottomMargin As DevExpress.XtraReports.UI.BottomMarginBand
+ Private Title As DevExpress.XtraReports.UI.XRControlStyle
+ Private DetailCaption3 As DevExpress.XtraReports.UI.XRControlStyle
+ Private DetailData3 As DevExpress.XtraReports.UI.XRControlStyle
+ Private DetailData3_Odd As DevExpress.XtraReports.UI.XRControlStyle
+ Private DetailCaptionBackground3 As DevExpress.XtraReports.UI.XRControlStyle
+ Private PageInfo As DevExpress.XtraReports.UI.XRControlStyle
+ Private customMailParameterLookup As DevExpress.XtraReports.Parameters.Parameter
+ Private customMailParameterText As DevExpress.XtraReports.Parameters.Parameter
+ Private customMailParameterMultivalue As DevExpress.XtraReports.Parameters.Parameter
+ Private customMailParameterMultivalueLookup As DevExpress.XtraReports.Parameters.Parameter
+End Class
diff --git a/VB/CustomReportParameterType/Reports/XtraReport1.resx b/VB/CustomReportParameterType/Reports/XtraReport1.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/VB/CustomReportParameterType/Reports/XtraReport1.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/VB/CustomReportParameterType/Reports/XtraReport1.vb b/VB/CustomReportParameterType/Reports/XtraReport1.vb
index 5d91ee8..9e3ef57 100644
--- a/VB/CustomReportParameterType/Reports/XtraReport1.vb
+++ b/VB/CustomReportParameterType/Reports/XtraReport1.vb
@@ -1,328 +1,61 @@
-Imports System
-Imports System.Drawing
-Imports System.Collections
-Imports System.ComponentModel
-Imports DevExpress.XtraReports.Parameters
-Imports CustomReportParameterType.Services
-Imports System.Collections.Generic
-Imports DevExpress.XtraReports.UI
-
-'''
-''' Summary description for XtraReport1
-'''
-Public Class XtraReport1
- Inherits DevExpress.XtraReports.UI.XtraReport
-
- Private Detail As DevExpress.XtraReports.UI.DetailBand
- Private TopMargin As DevExpress.XtraReports.UI.TopMarginBand
- Private BottomMargin As DevExpress.XtraReports.UI.BottomMarginBand
- Private Title As XRControlStyle
- Private DetailCaption3 As XRControlStyle
- Private DetailData3 As XRControlStyle
- Private DetailData3_Odd As XRControlStyle
- Private DetailCaptionBackground3 As XRControlStyle
- Private PageInfo As XRControlStyle
- Private customMailParameterLookup As DevExpress.XtraReports.Parameters.Parameter
- Private xrLabel3 As XRLabel
- Private xrLabel2 As XRLabel
- Private customMailParameterText As DevExpress.XtraReports.Parameters.Parameter
- Private customMailParameterMultivalue As DevExpress.XtraReports.Parameters.Parameter
- Private customMailParameterMultivalueLookup As DevExpress.XtraReports.Parameters.Parameter
- Private staticListLookUpSettings1 As New DevExpress.XtraReports.Parameters.StaticListLookUpSettings()
- Private staticListLookUpSettings2 As New DevExpress.XtraReports.Parameters.StaticListLookUpSettings()
- Private xrLabel10 As XRLabel
- Private xrLabel8 As XRLabel
- Private xrLabel9 As XRLabel
- Private xrLabel6 As XRLabel
- Private xrLabel7 As XRLabel
- Private xrLabel4 As XRLabel
- Private xrLabel5 As XRLabel
-
- '''
- ''' Required designer variable.
- '''
- Private components As System.ComponentModel.IContainer = Nothing
-
- Public Sub New()
- InitializeComponent()
- '
- ' TODO: Add constructor logic here
- '
- Dim parameterLookUpValue1 = New CustomParameterType With {.Value = "MyFirtsMail@mail.com"}
- Dim parameterLookUpValue2 = New CustomParameterType With {.Value = "MySecondMail@mail.com"}
- Me.staticListLookUpSettings1.LookUpValues.Add(New LookUpValue(parameterLookUpValue1, "First Mail Value"))
- Me.staticListLookUpSettings1.LookUpValues.Add(New LookUpValue(parameterLookUpValue2, "Second Mail Value"))
-
- Me.customMailParameterText.Value = New CustomParameterType With {.Value = "SampleMail@mail.com"}
-
- Me.customMailParameterMultivalue.Value = New List(Of CustomParameterType) From {
- New CustomParameterType With {.Value = "FirstSampleMail@mail.com"},
- New CustomParameterType With {.Value = "SecondSampleMail@mail.com"}
- }
-
- Dim parameterLookUpValue3 = New CustomParameterType With {.Value = "MyThirdMail@mail.com"}
- Dim parameterLookUpValue4 = New CustomParameterType With {.Value = "MyFourthMail@mail.com"}
- Me.staticListLookUpSettings2.LookUpValues.Add(New LookUpValue(parameterLookUpValue3, "Third Mail Value"))
- Me.staticListLookUpSettings2.LookUpValues.Add(New LookUpValue(parameterLookUpValue4, "Fourth Mail Value"))
- End Sub
-
- '''
- ''' Clean up any resources being used.
- '''
- ''' true if managed resources should be disposed; otherwise, false.
- Protected Overrides Sub Dispose(ByVal disposing As Boolean)
- If disposing AndAlso (components IsNot Nothing) Then
- components.Dispose()
- End If
- MyBase.Dispose(disposing)
- End Sub
-
-#Region "Designer generated code"
-
- '''
- ''' Required method for Designer support - do not modify
- ''' the contents of this method with the code editor.
- '''
- Private Sub InitializeComponent()
- Me.Detail = New DevExpress.XtraReports.UI.DetailBand()
- Me.TopMargin = New DevExpress.XtraReports.UI.TopMarginBand()
- Me.xrLabel10 = New DevExpress.XtraReports.UI.XRLabel()
- Me.xrLabel8 = New DevExpress.XtraReports.UI.XRLabel()
- Me.xrLabel9 = New DevExpress.XtraReports.UI.XRLabel()
- Me.xrLabel6 = New DevExpress.XtraReports.UI.XRLabel()
- Me.xrLabel7 = New DevExpress.XtraReports.UI.XRLabel()
- Me.xrLabel4 = New DevExpress.XtraReports.UI.XRLabel()
- Me.xrLabel5 = New DevExpress.XtraReports.UI.XRLabel()
- Me.xrLabel3 = New DevExpress.XtraReports.UI.XRLabel()
- Me.xrLabel2 = New DevExpress.XtraReports.UI.XRLabel()
- Me.BottomMargin = New DevExpress.XtraReports.UI.BottomMarginBand()
- Me.Title = New DevExpress.XtraReports.UI.XRControlStyle()
- Me.DetailCaption3 = New DevExpress.XtraReports.UI.XRControlStyle()
- Me.DetailData3 = New DevExpress.XtraReports.UI.XRControlStyle()
- Me.DetailData3_Odd = New DevExpress.XtraReports.UI.XRControlStyle()
- Me.DetailCaptionBackground3 = New DevExpress.XtraReports.UI.XRControlStyle()
- Me.PageInfo = New DevExpress.XtraReports.UI.XRControlStyle()
- Me.customMailParameterLookup = New DevExpress.XtraReports.Parameters.Parameter()
- Me.customMailParameterText = New DevExpress.XtraReports.Parameters.Parameter()
- Me.customMailParameterMultivalue = New DevExpress.XtraReports.Parameters.Parameter()
- Me.customMailParameterMultivalueLookup = New DevExpress.XtraReports.Parameters.Parameter()
- DirectCast(Me, System.ComponentModel.ISupportInitialize).BeginInit()
- '
- ' Detail
- '
- Me.Detail.Controls.AddRange(New DevExpress.XtraReports.UI.XRControl() {Me.xrLabel2, Me.xrLabel8, Me.xrLabel9, Me.xrLabel6, Me.xrLabel7, Me.xrLabel4, Me.xrLabel5, Me.xrLabel3, Me.xrLabel10})
- Me.Detail.HeightF = 289.7084F
- Me.Detail.KeepTogether = True
- Me.Detail.Name = "Detail"
- Me.Detail.Padding = New DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100.0F)
- Me.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft
- '
- ' TopMargin
- '
- Me.TopMargin.HeightF = 78.20841F
- Me.TopMargin.Name = "TopMargin"
- Me.TopMargin.Padding = New DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100.0F)
- Me.TopMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft
- '
- ' xrLabel10
- '
- Me.xrLabel10.LocationFloat = New DevExpress.Utils.PointFloat(0F, 0F)
- Me.xrLabel10.Multiline = True
- Me.xrLabel10.Name = "xrLabel10"
- Me.xrLabel10.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100.0F)
- Me.xrLabel10.SizeF = New System.Drawing.SizeF(249.4583F, 25.55338F)
- Me.xrLabel10.StyleName = "Title"
- Me.xrLabel10.Text = "Send this report to:"
- '
- ' xrLabel8
- '
- Me.xrLabel8.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() {New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterMultivalueLookup]")})
- Me.xrLabel8.LocationFloat = New DevExpress.Utils.PointFloat(377.4291F, 227.125F)
- Me.xrLabel8.Multiline = True
- Me.xrLabel8.Name = "xrLabel8"
- Me.xrLabel8.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100.0F)
- Me.xrLabel8.SizeF = New System.Drawing.SizeF(262.5709F, 62.58339F)
- Me.xrLabel8.Text = "xrLabel2"
- '
- ' xrLabel9
- '
- Me.xrLabel9.LocationFloat = New DevExpress.Utils.PointFloat(0F, 227.125F)
- Me.xrLabel9.Multiline = True
- Me.xrLabel9.Name = "xrLabel9"
- Me.xrLabel9.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100.0F)
- Me.xrLabel9.SizeF = New System.Drawing.SizeF(377.4291F, 62.58336F)
- Me.xrLabel9.StyleName = "Title"
- Me.xrLabel9.StylePriority.UseTextAlignment = False
- Me.xrLabel9.Text = "Multiple email addresses (predefined list):"
- Me.xrLabel9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft
- '
- ' xrLabel6
- '
- Me.xrLabel6.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() {New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterMultivalue]")})
- Me.xrLabel6.LocationFloat = New DevExpress.Utils.PointFloat(377.4291F, 171.9166F)
- Me.xrLabel6.Multiline = True
- Me.xrLabel6.Name = "xrLabel6"
- Me.xrLabel6.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100.0F)
- Me.xrLabel6.SizeF = New System.Drawing.SizeF(262.5709F, 23.0F)
- Me.xrLabel6.Text = "xrLabel2"
- '
- ' xrLabel7
- '
- Me.xrLabel7.LocationFloat = New DevExpress.Utils.PointFloat(0F, 169.3633F)
- Me.xrLabel7.Multiline = True
- Me.xrLabel7.Name = "xrLabel7"
- Me.xrLabel7.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100.0F)
- Me.xrLabel7.SizeF = New System.Drawing.SizeF(377.4291F, 25.55339F)
- Me.xrLabel7.StyleName = "Title"
- Me.xrLabel7.StylePriority.UseTextAlignment = False
- Me.xrLabel7.Text = "Multiple email addresses:"
- Me.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft
- '
- ' xrLabel4
- '
- Me.xrLabel4.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() {New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterText]")})
- Me.xrLabel4.LocationFloat = New DevExpress.Utils.PointFloat(377.4291F, 115.2083F)
- Me.xrLabel4.Multiline = True
- Me.xrLabel4.Name = "xrLabel4"
- Me.xrLabel4.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100.0F)
- Me.xrLabel4.SizeF = New System.Drawing.SizeF(262.5709F, 28.20834F)
- Me.xrLabel4.Text = "xrLabel2"
- '
- ' xrLabel5
- '
- Me.xrLabel5.LocationFloat = New DevExpress.Utils.PointFloat(0F, 115.2083F)
- Me.xrLabel5.Multiline = True
- Me.xrLabel5.Name = "xrLabel5"
- Me.xrLabel5.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100.0F)
- Me.xrLabel5.SizeF = New System.Drawing.SizeF(377.4291F, 28.20834F)
- Me.xrLabel5.StyleName = "Title"
- Me.xrLabel5.StylePriority.UseTextAlignment = False
- Me.xrLabel5.Text = "Single email address:"
- Me.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft
- '
- ' xrLabel3
- '
- Me.xrLabel3.LocationFloat = New DevExpress.Utils.PointFloat(0F, 47.91667F)
- Me.xrLabel3.Multiline = True
- Me.xrLabel3.Name = "xrLabel3"
- Me.xrLabel3.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100.0F)
- Me.xrLabel3.SizeF = New System.Drawing.SizeF(377.4291F, 55.29165F)
- Me.xrLabel3.StyleName = "Title"
- Me.xrLabel3.StylePriority.UseTextAlignment = False
- Me.xrLabel3.Text = "Single email address (predefined list):"
- Me.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft
- '
- ' xrLabel2
- '
- Me.xrLabel2.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() {New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters].[customMailParameterLookup]")})
- Me.xrLabel2.LocationFloat = New DevExpress.Utils.PointFloat(377.4291F, 47.91667F)
- Me.xrLabel2.Multiline = True
- Me.xrLabel2.Name = "xrLabel2"
- Me.xrLabel2.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100.0F)
- Me.xrLabel2.SizeF = New System.Drawing.SizeF(262.5709F, 55.29165F)
- Me.xrLabel2.Text = "xrLabel2"
- '
- ' BottomMargin
- '
- Me.BottomMargin.Name = "BottomMargin"
- Me.BottomMargin.Padding = New DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100.0F)
- Me.BottomMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft
- '
- ' Title
- '
- Me.Title.BackColor = System.Drawing.Color.Transparent
- Me.Title.BorderColor = System.Drawing.Color.Black
- Me.Title.Borders = DevExpress.XtraPrinting.BorderSide.None
- Me.Title.BorderWidth = 1.0F
- Me.Title.Font = New System.Drawing.Font("Tahoma", 14.0F)
- Me.Title.ForeColor = System.Drawing.Color.FromArgb((CInt((CByte(75)))), (CInt((CByte(75)))), (CInt((CByte(75)))))
- Me.Title.Name = "Title"
- '
- ' DetailCaption3
- '
- Me.DetailCaption3.BackColor = System.Drawing.Color.Transparent
- Me.DetailCaption3.BorderColor = System.Drawing.Color.Transparent
- Me.DetailCaption3.Borders = DevExpress.XtraPrinting.BorderSide.None
- Me.DetailCaption3.Font = New System.Drawing.Font("Tahoma", 8.0F, System.Drawing.FontStyle.Bold)
- Me.DetailCaption3.ForeColor = System.Drawing.Color.FromArgb((CInt((CByte(75)))), (CInt((CByte(75)))), (CInt((CByte(75)))))
- Me.DetailCaption3.Name = "DetailCaption3"
- Me.DetailCaption3.Padding = New DevExpress.XtraPrinting.PaddingInfo(6, 6, 0, 0, 100.0F)
- Me.DetailCaption3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft
- '
- ' DetailData3
- '
- Me.DetailData3.Font = New System.Drawing.Font("Tahoma", 8.0F)
- Me.DetailData3.ForeColor = System.Drawing.Color.Black
- Me.DetailData3.Name = "DetailData3"
- Me.DetailData3.Padding = New DevExpress.XtraPrinting.PaddingInfo(6, 6, 0, 0, 100.0F)
- Me.DetailData3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft
- '
- ' DetailData3_Odd
- '
- Me.DetailData3_Odd.BackColor = System.Drawing.Color.FromArgb((CInt((CByte(231)))), (CInt((CByte(231)))), (CInt((CByte(231)))))
- Me.DetailData3_Odd.BorderColor = System.Drawing.Color.Transparent
- Me.DetailData3_Odd.Borders = DevExpress.XtraPrinting.BorderSide.None
- Me.DetailData3_Odd.BorderWidth = 1.0F
- Me.DetailData3_Odd.Font = New System.Drawing.Font("Tahoma", 8.0F)
- Me.DetailData3_Odd.ForeColor = System.Drawing.Color.Black
- Me.DetailData3_Odd.Name = "DetailData3_Odd"
- Me.DetailData3_Odd.Padding = New DevExpress.XtraPrinting.PaddingInfo(6, 6, 0, 0, 100.0F)
- Me.DetailData3_Odd.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft
- '
- ' DetailCaptionBackground3
- '
- Me.DetailCaptionBackground3.BackColor = System.Drawing.Color.Transparent
- Me.DetailCaptionBackground3.BorderColor = System.Drawing.Color.FromArgb((CInt((CByte(206)))), (CInt((CByte(206)))), (CInt((CByte(206)))))
- Me.DetailCaptionBackground3.Borders = DevExpress.XtraPrinting.BorderSide.Top
- Me.DetailCaptionBackground3.BorderWidth = 2.0F
- Me.DetailCaptionBackground3.Name = "DetailCaptionBackground3"
- '
- ' PageInfo
- '
- Me.PageInfo.Font = New System.Drawing.Font("Tahoma", 8.0F, System.Drawing.FontStyle.Bold)
- Me.PageInfo.ForeColor = System.Drawing.Color.FromArgb((CInt((CByte(75)))), (CInt((CByte(75)))), (CInt((CByte(75)))))
- Me.PageInfo.Name = "PageInfo"
- Me.PageInfo.Padding = New DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100.0F)
- '
- ' customMailParameterLookup
- '
- Me.customMailParameterLookup.Description = "Custom Email Parameter"
- Me.customMailParameterLookup.LookUpSettings = staticListLookUpSettings1
- Me.customMailParameterLookup.Name = "customMailParameterLookup"
- Me.customMailParameterLookup.Type = GetType(CustomReportParameterType.Services.CustomParameterType)
- '
- ' customMailParameterText
- '
- Me.customMailParameterText.Description = "Additional Custom Email Parameter"
- Me.customMailParameterText.Name = "customMailParameterText"
- Me.customMailParameterText.Type = GetType(CustomReportParameterType.Services.CustomParameterType)
- '
- ' customMailParameterMultivalue
- '
- Me.customMailParameterMultivalue.Description = "Multi-value Email Parameter"
- Me.customMailParameterMultivalue.MultiValue = True
- Me.customMailParameterMultivalue.Name = "customMailParameterMultivalue"
- Me.customMailParameterMultivalue.Type = GetType(CustomReportParameterType.Services.CustomParameterType)
- '
- ' customMailParameterMultivalueLookup
- '
- Me.customMailParameterMultivalueLookup.Description = "Predefined multi-value Email parameter"
- Me.customMailParameterMultivalueLookup.LookUpSettings = staticListLookUpSettings2
- Me.customMailParameterMultivalueLookup.MultiValue = True
- Me.customMailParameterMultivalueLookup.Name = "customMailParameterMultivalueLookup"
- Me.customMailParameterMultivalueLookup.Type = GetType(CustomReportParameterType.Services.CustomParameterType)
- Me.customMailParameterMultivalueLookup.ValueInfo = "MyThirdMail@mail.com"
- '
- ' XtraReport1
- '
- Me.Bands.AddRange(New DevExpress.XtraReports.UI.Band() {Me.Detail, Me.TopMargin, Me.BottomMargin})
- Me.Margins = New System.Drawing.Printing.Margins(100, 100, 78, 100)
- Me.Parameters.AddRange(New DevExpress.XtraReports.Parameters.Parameter() {Me.customMailParameterLookup, Me.customMailParameterText, Me.customMailParameterMultivalue, Me.customMailParameterMultivalueLookup})
- Me.StyleSheet.AddRange(New DevExpress.XtraReports.UI.XRControlStyle() {Me.Title, Me.DetailCaption3, Me.DetailData3, Me.DetailData3_Odd, Me.DetailCaptionBackground3, Me.PageInfo})
- Me.Version = "18.2"
- DirectCast(Me, System.ComponentModel.ISupportInitialize).EndInit()
-
- End Sub
-
-#End Region
-End Class
+Option Infer On
+
+Imports CustomReportParameterType.Services
+Imports DevExpress.XtraReports.Parameters
+Imports System.Collections.Generic
+
+Partial Public Class XtraReport1
+ Inherits DevExpress.XtraReports.UI.XtraReport
+
+ Public Sub New()
+ InitializeComponent()
+
+ Dim staticListLookUpSettings1 = New StaticListLookUpSettings()
+ Dim staticListLookUpSettings2 = New StaticListLookUpSettings()
+ '
+ ' customMailParameterLookup
+ '
+ customMailParameterLookup.Description = "Custom Email Parameter"
+ customMailParameterLookup.Name = "customMailParameterLookup"
+ customMailParameterLookup.Type = GetType(CustomParameterType)
+ Dim parameterLookUpValue1 = New CustomParameterType With {.Value = "MyFirtsMail@example.com"}
+ Dim parameterLookUpValue2 = New CustomParameterType With {.Value = "MySecondMail@example.com"}
+ staticListLookUpSettings1.LookUpValues.AddRange(New List(Of LookUpValue) From {
+ New LookUpValue(parameterLookUpValue1, "First Mail Value"),
+ New LookUpValue(parameterLookUpValue2, "Second Mail Value")
+ })
+ customMailParameterLookup.ValueSourceSettings = staticListLookUpSettings1
+ '
+ ' customMailParameterText
+ '
+ customMailParameterText.Description = "Additional Custom Email Parameter"
+ customMailParameterText.Name = "customMailParameterText"
+ customMailParameterText.Type = GetType(CustomParameterType)
+ customMailParameterText.Value = New CustomParameterType With {.Value = "SampleMail@example.com"}
+ '
+ ' customMailParameterMultivalue
+ '
+ customMailParameterMultivalue.Description = "Multi-value Email Parameter"
+ customMailParameterMultivalue.MultiValue = True
+ customMailParameterMultivalue.Name = "customMailParameterMultivalue"
+ customMailParameterMultivalue.Type = GetType(CustomParameterType)
+ customMailParameterMultivalue.Value = New List(Of CustomParameterType) From {
+ New CustomParameterType With {.Value = "FirstSampleMail@example.com"},
+ New CustomParameterType With {.Value = "SecondSampleMail@example.com"}
+ }
+ '
+ ' customMailParameterMultivalueLookup
+ '
+ customMailParameterMultivalueLookup.Description = "Predefined multi-value Email parameter"
+ customMailParameterMultivalueLookup.MultiValue = True
+ customMailParameterMultivalueLookup.Name = "customMailParameterMultivalueLookup"
+ customMailParameterMultivalueLookup.Type = GetType(CustomParameterType)
+ Dim parameterLookUpValue3 = New CustomParameterType With {.Value = "MyThirdMail@example.com"}
+ Dim parameterLookUpValue4 = New CustomParameterType With {.Value = "MyFourthMail@example.com"}
+ staticListLookUpSettings2.LookUpValues.AddRange(New List(Of LookUpValue) From {
+ New LookUpValue(parameterLookUpValue3, "Third Mail Value"),
+ New LookUpValue(parameterLookUpValue4, "Fourth Mail Value")
+ })
+ customMailParameterMultivalueLookup.ValueSourceSettings = staticListLookUpSettings2
+ End Sub
+End Class
diff --git a/VB/CustomReportParameterType/Services/CustomDataSerializer.vb b/VB/CustomReportParameterType/Services/CustomDataSerializer.vb
index d5839be..7af5532 100644
--- a/VB/CustomReportParameterType/Services/CustomDataSerializer.vb
+++ b/VB/CustomReportParameterType/Services/CustomDataSerializer.vb
@@ -1,32 +1,45 @@
-Imports System
-Imports System.Collections.Generic
-Imports System.Linq
-Imports DevExpress.XtraReports.Native
-
-Namespace CustomReportParameterType.Services
- Public Class CustomDataSerializer
- Implements IDataSerializer
-
- Public Const Name As String = "myCustomDataSerializer"
-
- Public Function CanDeserialize(ByVal value As String, ByVal typeName As String, ByVal extensionProvider As Object) As Boolean Implements IDataSerializer.CanDeserialize
- Return typeName = GetType(CustomParameterType).FullName
- End Function
-
- Public Function CanSerialize(ByVal data As Object, ByVal extensionProvider As Object) As Boolean Implements IDataSerializer.CanSerialize
- Return TypeOf data Is CustomParameterType
- End Function
-
- Public Function Deserialize(ByVal value As String, ByVal typeName As String, ByVal extensionProvider As Object) As Object Implements IDataSerializer.Deserialize
- If typeName = GetType(CustomParameterType).FullName Then
- Return New CustomParameterType With {.Value = value}
- End If
- Return Nothing
- End Function
-
- Public Function Serialize(ByVal data As Object, ByVal extensionProvider As Object) As String Implements IDataSerializer.Serialize
- Dim parameter = TryCast(data, CustomParameterType)
- Return If(parameter IsNot Nothing, parameter.Value, Nothing)
- End Function
- End Class
-End Namespace
\ No newline at end of file
+Imports System
+Imports System.Collections.Generic
+Imports System.Linq
+Imports DevExpress.XtraReports.Native
+
+Namespace CustomReportParameterType.Services
+ Public Class CustomDataSerializer
+ Implements IDataSerializer
+
+ Public Const Name As String = "myCustomDataSerializer"
+
+ Public Function CanDeserialize(
+ ByVal value As String, ByVal typeName As String,
+ ByVal extensionProvider As Object
+ ) As Boolean Implements IDataSerializer.CanDeserialize
+ Return typeName = GetType(CustomParameterType).FullName
+ End Function
+
+ Public Function CanSerialize(
+ ByVal data As Object,
+ ByVal extensionProvider As Object
+ ) As Boolean Implements IDataSerializer.CanSerialize
+ Return TypeOf data Is CustomParameterType
+ End Function
+
+ Public Function Deserialize(
+ ByVal value As String,
+ ByVal typeName As String,
+ ByVal extensionProvider As Object
+ ) As Object Implements IDataSerializer.Deserialize
+ If typeName = GetType(CustomParameterType).FullName Then
+ Return New CustomParameterType With {.Value = value}
+ End If
+ Return Nothing
+ End Function
+
+ Public Function Serialize(
+ ByVal data As Object,
+ ByVal extensionProvider As Object
+ ) As String Implements IDataSerializer.Serialize
+ Dim parameter = TryCast(data, CustomParameterType)
+ Return If(parameter IsNot Nothing, parameter.Value, Nothing)
+ End Function
+ End Class
+End Namespace
diff --git a/VB/CustomReportParameterType/Services/CustomParameterType.vb b/VB/CustomReportParameterType/Services/CustomParameterType.vb
index 44f35f6..0071ba1 100644
--- a/VB/CustomReportParameterType/Services/CustomParameterType.vb
+++ b/VB/CustomReportParameterType/Services/CustomParameterType.vb
@@ -1,39 +1,54 @@
-Imports System
-Imports System.ComponentModel
-Imports System.Globalization
-
-Namespace CustomReportParameterType.Services
- _
- Public Class CustomParameterType
- Public Property Value() As String
- Public Overrides Function ToString() As String
- Return Value
- End Function
- End Class
-
- 'Use this class to display parameter values on document pages.
- Public Class CustomParameterTypeConverter
- Inherits TypeConverter
-
- Public Overrides Function ConvertTo(ByVal context As ITypeDescriptorContext, ByVal culture As CultureInfo, ByVal value As Object, ByVal destinationType As Type) As Object
- If destinationType Is GetType(String) Then
- Return DirectCast(value, CustomParameterType).Value
- End If
- Return MyBase.ConvertTo(context, culture, value, destinationType)
- End Function
- Public Overrides Function CanConvertTo(ByVal context As ITypeDescriptorContext, ByVal destinationType As Type) As Boolean
- Return destinationType Is GetType(String) OrElse MyBase.CanConvertTo(context, destinationType)
- End Function
-
- Public Overrides Function CanConvertFrom(ByVal context As ITypeDescriptorContext, ByVal sourceType As Type) As Boolean
- Return sourceType Is GetType(String) OrElse MyBase.CanConvertFrom(context, sourceType)
- End Function
- Public Overrides Function ConvertFrom(ByVal context As ITypeDescriptorContext, ByVal culture As CultureInfo, ByVal value As Object) As Object
- Dim valueString = TryCast(value, String)
- If valueString IsNot Nothing Then
- Return New CustomParameterType With {.Value = valueString}
- End If
- Return MyBase.ConvertFrom(context, culture, value)
- End Function
- End Class
-End Namespace
\ No newline at end of file
+Imports System
+Imports System.ComponentModel
+Imports System.Globalization
+
+Namespace CustomReportParameterType.Services
+
+ Public Class CustomParameterType
+ Public Property Value() As String
+ Public Overrides Function ToString() As String
+ Return Value
+ End Function
+ End Class
+
+ Public Class CustomParameterTypeConverter
+ Inherits TypeConverter
+
+ Public Overrides Function ConvertTo(
+ ByVal context As ITypeDescriptorContext,
+ ByVal culture As CultureInfo,
+ ByVal value As Object,
+ ByVal destinationType As Type) As Object
+ If destinationType Is GetType(String) Then
+ Return DirectCast(value, CustomParameterType).Value
+ End If
+ Return MyBase.ConvertTo(context, culture, value, destinationType)
+ End Function
+ Public Overrides Function CanConvertTo(
+ ByVal context As ITypeDescriptorContext,
+ ByVal destinationType As Type
+ ) As Boolean
+ Return destinationType Is GetType(String) OrElse
+ MyBase.CanConvertTo(context, destinationType)
+ End Function
+
+ Public Overrides Function CanConvertFrom(
+ ByVal context As ITypeDescriptorContext,
+ ByVal sourceType As Type
+ ) As Boolean
+ Return sourceType Is GetType(String) OrElse
+ MyBase.CanConvertFrom(context, sourceType)
+ End Function
+ Public Overrides Function ConvertFrom(
+ ByVal context As ITypeDescriptorContext,
+ ByVal culture As CultureInfo,
+ ByVal value As Object
+ ) As Object
+ Dim valueString = TryCast(value, String)
+ If valueString IsNot Nothing Then
+ Return New CustomParameterType With {.Value = valueString}
+ End If
+ Return MyBase.ConvertFrom(context, culture, value)
+ End Function
+ End Class
+End Namespace
diff --git a/VB/CustomReportParameterType/Views/Home/Designer.cshtml b/VB/CustomReportParameterType/Views/Home/Designer.vbhtml
similarity index 54%
rename from VB/CustomReportParameterType/Views/Home/Designer.cshtml
rename to VB/CustomReportParameterType/Views/Home/Designer.vbhtml
index f89000b..73036c6 100644
--- a/VB/CustomReportParameterType/Views/Home/Designer.cshtml
+++ b/VB/CustomReportParameterType/Views/Home/Designer.vbhtml
@@ -1,21 +1,22 @@
-@model XtraReport
-
-
-
-
-@Html.DevExpress().ReportDesigner(settings => {
- settings.Name = "ReportDesigner1";
- settings.ClientSideEvents.Init = "reportDesignerInit";
-}).Bind(Model).GetHtml()
\ No newline at end of file
+@ModelType DevExpress.XtraReports.UI.XtraReport
+
+
+
+
+
+@Html.DevExpress().ReportDesigner(Sub(settings)
+ settings.Name = "ReportDesigner1"
+ settings.ClientSideEvents.Init = "reportDesignerInit"
+ End Sub).Bind(Model).GetHtml()
diff --git a/VB/CustomReportParameterType/Views/Home/Index.cshtml b/VB/CustomReportParameterType/Views/Home/Index.vbhtml
similarity index 93%
rename from VB/CustomReportParameterType/Views/Home/Index.cshtml
rename to VB/CustomReportParameterType/Views/Home/Index.vbhtml
index ab3d487..bd6ed0b 100644
--- a/VB/CustomReportParameterType/Views/Home/Index.cshtml
+++ b/VB/CustomReportParameterType/Views/Home/Index.vbhtml
@@ -1,4 +1,4 @@
-
- @Html.ActionLink("Report Designer", "Designer", "Home")
- @Html.ActionLink("Document Viewer", "Viewer", "Home")
-
\ No newline at end of file
+
+ @Html.ActionLink("Report Designer", "Designer", "Home")
+ @Html.ActionLink("Document Viewer", "Viewer", "Home")
+
diff --git a/VB/CustomReportParameterType/Views/Home/Viewer.cshtml b/VB/CustomReportParameterType/Views/Home/Viewer.cshtml
deleted file mode 100644
index fba541e..0000000
--- a/VB/CustomReportParameterType/Views/Home/Viewer.cshtml
+++ /dev/null
@@ -1,20 +0,0 @@
-@model DevExpress.XtraReports.UI.XtraReport
-
-
-
-@Html.DevExpress().WebDocumentViewer(settings => {
- settings.Name = "WebDocumentViewer1";
- settings.ClientSideEvents.CustomizeParameterEditors = "customizeParameterEditors";
-}).Bind(Model).GetHtml()
\ No newline at end of file
diff --git a/VB/CustomReportParameterType/Views/Home/Viewer.vbhtml b/VB/CustomReportParameterType/Views/Home/Viewer.vbhtml
new file mode 100644
index 0000000..460291d
--- /dev/null
+++ b/VB/CustomReportParameterType/Views/Home/Viewer.vbhtml
@@ -0,0 +1,24 @@
+@ModelType DevExpress.XtraReports.UI.XtraReport
+
+
+
+
+@Html.DevExpress().WebDocumentViewer(Sub(settings)
+ settings.Name = "WebDocumentViewer1"
+ settings.ClientSideEvents.CustomizeParameterEditors = "customizeParameterEditors"
+End Sub).Bind(Model).GetHtml()
diff --git a/VB/CustomReportParameterType/Views/Shared/_Layout.cshtml b/VB/CustomReportParameterType/Views/Shared/_Layout.vbhtml
similarity index 61%
rename from VB/CustomReportParameterType/Views/Shared/_Layout.cshtml
rename to VB/CustomReportParameterType/Views/Shared/_Layout.vbhtml
index 26f28ba..dddae4e 100644
--- a/VB/CustomReportParameterType/Views/Shared/_Layout.cshtml
+++ b/VB/CustomReportParameterType/Views/Shared/_Layout.vbhtml
@@ -1,31 +1,31 @@
-
-
-
-
-
- DevExpress ASP.NET project
-
- @Html.DevExpress().GetStyleSheets(
- new StyleSheet { ExtensionType = ExtensionType.ReportDesigner }
- )
- @Html.DevExpress().GetScripts(
- new Script { ExtensionType = ExtensionType.ReportDesigner }
- )
-
-
-
-
-
-
-
- @RenderBody()
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+ DevExpress ASP.NET project
+
+ @Html.DevExpress().GetStyleSheets(
+ New StyleSheet With {.ExtensionType = ExtensionType.ReportDesigner}
+ )
+ @Html.DevExpress().GetScripts(
+ New Script With {.ExtensionType = ExtensionType.ReportDesigner}
+ )
+
+
+
+
+
+
+
+ @RenderBody()
+
+
+
+
+
+
diff --git a/VB/CustomReportParameterType/Views/Web.config b/VB/CustomReportParameterType/Views/Web.config
index 3a73dcd..eccaf98 100644
--- a/VB/CustomReportParameterType/Views/Web.config
+++ b/VB/CustomReportParameterType/Views/Web.config
@@ -1,56 +1,56 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/VB/CustomReportParameterType/Views/_ViewStart.cshtml b/VB/CustomReportParameterType/Views/_ViewStart.cshtml
deleted file mode 100644
index c34f4d5..0000000
--- a/VB/CustomReportParameterType/Views/_ViewStart.cshtml
+++ /dev/null
@@ -1,3 +0,0 @@
-@{
- Layout = "~/Views/Shared/_Layout.cshtml";
-}
\ No newline at end of file
diff --git a/VB/CustomReportParameterType/Views/_ViewStart.vbhtml b/VB/CustomReportParameterType/Views/_ViewStart.vbhtml
new file mode 100644
index 0000000..781b270
--- /dev/null
+++ b/VB/CustomReportParameterType/Views/_ViewStart.vbhtml
@@ -0,0 +1,3 @@
+@Code
+ Layout = "~/Views/Shared/_Layout.vbhtml"
+End Code
diff --git a/VB/CustomReportParameterType/Web.Debug.config b/VB/CustomReportParameterType/Web.Debug.config
index 9b3c40d..c1a5642 100644
--- a/VB/CustomReportParameterType/Web.Debug.config
+++ b/VB/CustomReportParameterType/Web.Debug.config
@@ -1,30 +1,30 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/VB/CustomReportParameterType/Web.Release.config b/VB/CustomReportParameterType/Web.Release.config
index 6a339b3..19058ed 100644
--- a/VB/CustomReportParameterType/Web.Release.config
+++ b/VB/CustomReportParameterType/Web.Release.config
@@ -1,31 +1,31 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/VB/CustomReportParameterType/Web.config b/VB/CustomReportParameterType/Web.config
index fa95155..3273009 100644
--- a/VB/CustomReportParameterType/Web.config
+++ b/VB/CustomReportParameterType/Web.config
@@ -1,132 +1,132 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/VB/CustomReportParameterType/packages.config b/VB/CustomReportParameterType/packages.config
index 60cbefa..625d7ea 100644
--- a/VB/CustomReportParameterType/packages.config
+++ b/VB/CustomReportParameterType/packages.config
@@ -1,14 +1,14 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/config.json b/config.json
index 5800a8f..0ba52f9 100644
--- a/config.json
+++ b/config.json
@@ -1,4 +1,4 @@
-{
- "runOnWeb": false,
- "autoGenerateVb": false
+{
+ "runOnWeb": false,
+ "autoGenerateVb": false
}
\ No newline at end of file