Files
lux/TestDevExpress/Components/Pages/ReportViewer.razor.cs
T

117 lines
4.6 KiB
C#

using DevExpress.Blazor.Reporting;
using DevExpress.DataAccess;
using DevExpress.DataAccess.Json;
using DevExpress.XtraReports;
using DevExpress.XtraReports.UI;
using Microsoft.AspNetCore.Components;
using TestDevExpress.Components.Reports;
namespace TestDevExpress.Components.Pages
{
public partial class ReportViewer
{
// Recupera il parametro "id" dalla Query String (?id=7)
[SupplyParameterFromQuery(Name = "id")]
public int? OfferId { get; set; }
//// Variabile che conterrà l'istanza del report DevExpress
//public XtraReport OfferReportInstance = new XtraReport();
private DxReportViewer? reportViewer;
//private TestReport Report = new TestReport();
private OfferReport currReport = new();
//private int IDOffert = 10283;
protected override void OnInitialized()
{
//// 2. Assicurati che il report abbia il parametro
//currReport.Parameters.Add(new DevExpress.XtraReports.Parameters.Parameter()
//{
// Name = "p_IdSorgente",
// Type = typeof(int),
// Value = 1,
// Visible = false
//});
//// 3. Crea la configurazione dell'URL con il placeholder {id}
//UriJsonSource uriJsonSource = new UriJsonSource(new Uri("https://iis01.egalware.com/lux/srv/api/report/offert/{id}"));
//// 4. Crea il PathParameter e collegalo tramite un'espressione al parametro del report
//PathParameter idParameter = new PathParameter(
// "id",
// typeof(int),
// new Expression("?p_IdSorgente") // Il '?' indica che si tratta di un parametro del report
//);
//uriJsonSource.PathParameters.Add(idParameter);
//// 5. Crea il DataSource e assegnalo al report
//JsonDataSource jsonDataSource = new JsonDataSource();
//jsonDataSource.JsonSource = uriJsonSource;
//// (Opzionale) Compila lo schema se devi disegnare il report a runtime
//// jsonDataSource.Fill();
//// 6. Assegna la sorgente al report
//currReport.DataSource = jsonDataSource;
//// Create a new JSON source.
//var jsonSource = new UriJsonSource()
//{
// Uri = new Uri(@"https://iis01.egalware.com/lux/srv/api/report/offert")
//};
//// Create the "id" path parameters that are appended to the JSON URI
//jsonSource.PathParameters.AddRange(new[] {
// new PathParameter("id", typeof(int), new Expression("?ID"))
//});
//// Assign the JSON source to the data source.
//var datasource = new JsonDataSource()
//{
// JsonSource = jsonSource
//};
//currReport.DataSource = datasource;
////// Imposta il parametro PRIMA che il viewer renderizzi
////Report.Parameters["orderID"].Value = IDOffert;
////Report.Parameters["orderID"].Visible = false;
}
protected override void OnParametersSet()
{
//// Inizializza la classe del tuo report (creata con il designer DevExpress)
//OfferReportInstance = new TestReport();
//// Verifica se il parametro è stato passato nell'URL
//if (OfferId.HasValue)
//{
// // Cerca il parametro all'interno del report DevExpress (assicurati che il nome corrisponda)
// var parametroDx = OfferReportInstance.Parameters["offerID"];
// if (parametroDx != null)
// {
// // Assegna il valore recuperato dall'URL
// parametroDx.Value = OfferId.Value;
// // (Opzionale) Nascondi il parametro nell'interfaccia utente se non vuoi che l'utente lo modifichi
// parametroDx.Visible = false;
// }
//}
//else
//{
// // Cerca il parametro all'interno del report DevExpress (assicurati che il nome corrisponda)
// var parametroDx = OfferReportInstance.Parameters["offerID"];
// if (parametroDx != null)
// {
// // Assegna il valore recuperato dall'URL
// parametroDx.Value = 7;
// // (Opzionale) Nascondi il parametro nell'interfaccia utente se non vuoi che l'utente lo modifichi
// parametroDx.Visible = false;
// }
//}
////base.OnParametersSet();
}
}
}