Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB2010] Passaggio dinamico variabile a query che crea reportview

    Ciao
    il problema è questo :

    sto imparando ora a utilizzare il reportview; ho utilizzato un video presente nell MSDN per imparare ad usarlo (http://msdn.microsoft.com/it-it/vstudio/Bb643819);

    Ho creato un dataset, ho disegnato il report e se vado a aprirlo funziona tutto.

    Ora cliccando sul tasto stampa che ho creato nel FORM1, si dovrebbe aprire la finestra del FORM2 contenente il reportview, il quale dovrebbe compilare i propri campi estrapolando i dati da un database filtrati secondo una variabile globale impostata dal FORM1
    (ovvero SELECT ecc..... WHERE id = variabileglobalepassata)

    Non riesco a capire fare o dove sto sbagliando.

  2. #2
    allora ho quasi risolto cercando un po via internet....

    questo il codice di caricamento del reportview

    codice:
    Private Sub report_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
          
    
            Dim adapter As New assegnazioniDataSetTableAdapters.ASSEGNAZIONITableAdapter
            Dim table As New assegnazioniDataSet.ASSEGNAZIONIDataTable
    
            adapter.FillBy(table, s(0))
    
            Dim ndatasource As New ReportDataSource("ASSEGNAZIONI", table)
    
            Me.ReportViewer1.LocalReport.DataSources.Add(ndatasource)
            Me.ReportViewer1.LocalReport.Refresh()
    
            Me.ReportViewer1.RefreshReport()
        End Sub
    ALLORA s(0) è la mia variabile GLOBALE.

    il problema è in questa riga qui :

    Dim ndatasource As New ReportDataSource("ASSEGNAZIONI", table)

    l' errore in dichiarazione è :


    Overload resolution failed because no accessible 'New' is most specific for these arguments:
    'Public Sub New(name As String, dataSourceValue As System.Collections.IEnumerable)': Not most specific.
    'Public Sub New(name As String, dataSourceValue As System.Data.DataTable)': Not most specific.

  3. #3
    HO ADATTATO QUELLA RIGA DA C# A VB.

    in origine era

    reportdatasource newdatasource = new reportdatasource("ASSEGNAZIONI", (DataTable)table);

  4. #4
    Utente di HTML.it L'avatar di ShaleN
    Registrato dal
    Aug 2010
    Messaggi
    517
    Occhio, che in C# scrivere questo:

    codice:
    (DataTable)table
    Equivale a questo codice VB.NET:

    codice:
    Ctype(table, DataTable)
    Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
    La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
    Occhio per occhio uguale... occhio al quadrato

  5. #5
    Grazie della risposta

    ho risolto così e non so il perchè

    codice:
    Private Sub report_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'TODO: This line of code loads data into the 'assegnazioniDataSet.ASSEGNAZIONI' table. You can move, or remove it, as needed.
    
            Dim Params As List(Of Microsoft.Reporting.WinForms.ReportParameter) = _
                New List(Of Microsoft.Reporting.WinForms.ReportParameter)
    
            Params.Add(New Microsoft.Reporting.WinForms.ReportParameter("id", Val(s(0))))
    
            ReportViewer1.LocalReport.SetParameters(Params)
    
            Me.ASSEGNAZIONITableAdapter.FillBy(assegnazioniDataSet.ASSEGNAZIONI, s(0))
            Me.ReportViewer1.RefreshReport()
        End Sub

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.