come passare il valore di un parametro da report rdlc di un metodo di moduli web del progetto?

ho un report rdlc che è associato alla seguente classe:

public class Product
{
  DataContext context;

  public Product()
  {
    context = new DataContext();
  }
  public List<Product> GetBoughtItemsForUser(string userName)
  {
    //linq query to collect data
    return query.ToList();
  }

  public string Name {get;set;}
  public int Quantity {get;set;}
}

nel mio rdlc ho impostato il set di dati del report per GetBoughtItemsForUser. ora voglio passare il valore di nome utente, che è in realtà la Pagina.Utente.Identità.Nome così come posso farlo?

InformationsquelleAutor jim | 2012-07-13



4 Replies
  1. 2
    var p = new Product();
    
    //fill class properties with data
    
    ReportParameter[] params = new ReportParameter[2]; 
    params[0] = new ReportParameter("Name ", p.Name , false); 
    params[1] = new ReportParameter("Quantity ", p.Quantity , false); 
    this.ReportViewer1.ServerReport.SetParameters(params);     
    this.ReportViewer1.ServerReport.Refresh();
    • è questo controller, è possibile inviare i parametri da MVC5 controller di report rdlc generatore aspx
  2. 0

    Provare questo

      rv = ReportViewer1;
                rv.LocalReport.ReportPath = @"Report.rdlc";    
                rv.LocalReport.DataSources.Clear();
                ReportDataSource rs = new ReportDataSource("DataSetName", GetData());
                rv.LocalReport.DataSources.Add(rs);                        
    
    
                ReportParameter param = new ReportParameter("paramName", paramValue);            
                rv.LocalReport.SetParameters(param); 
    
                rv.LocalReport.Refresh(); 
  3. 0
                   reportParameters.Clear();
                    reportParameters.Add(new ReportParameter("prmClientRef", find));
                    reportParameters.Add(new ReportParameter("prmClientName", string.Format("{0} {1}",                    allval.Title, allval.ClientName)));
    
                    this.viewerInstance.LocalReport.SetParameters(reportParameters);
                    this.ProductBindingSource.DataSource = storageToPrint.Where(x => x.ClientRef == find).ToList();
                    this.viewerInstance.RefreshReport();
                    this.viewerInstance.Refresh();
  4. 0

    È molto facile

    Se si considera che si sta utilizzando un’Applicazione Web. Basta impostare una variabile di Sessione da qualche parte nel livello UI dire : Session[“exp”] = 6;

    Ora supponendo che la classe Prodotto è a livello di business e la vostra funzione GetBoughtItemsForUser viene chiamato RDLC file del set di dati.

    Attenersi alla seguente procedura per configurare il file RDLC –

    1. In ObjectDataSource selezionare ConfigureDataSource, allora il vostro business layer che contiene il metodo – GetBoughtItemsForUser.

    2. Ora in Definire i Metodi dei Dati finestra, scegli il tuo metodo – GetBoughtItemsForUser, qui nel mio caso è GetAllFaculty.

    come passare il valore di un parametro da report rdlc di un metodo di moduli web del progetto?

    1. Fare Clic Su Avanti

    come passare il valore di un parametro da report rdlc di un metodo di moduli web del progetto?

    1. Ora si ottiene automaticamente Definire i Parametri finestra (solo in caso di parametrizzare le funzioni), qui scegli l’ Parametro Sorgente e dare il parametro appropriato nome in SessionField che si sta utilizzando nel vostro livello di interfaccia utente, qui nel mio caso è il tipo di Sessione e exp.

    2. Colpire il pulsante fine e il gioco è fatto.

    Nota: non devi preoccuparti per la conversione della Sessione
    variabile di tipo appropriato, nella maggior parte dei casi sarà
    fatto automaticamente. Il resto si può premere “Mostra proprietà avanzate”.

Lascia un commento