Dynamique liaison de données, de Rapports RDLC

Je voudrais lier dynamiquement la classe dataset pour la rdlc. Je peux visualiser le rapport, si j'use inline source de données dans le fichier ASPX (statique de la liaison). Cependant, si j'utilise les codes suivants, le Rapport de la visionneuse continue de s'afficher "Chargement.." de l'Image.

J'ai déjà vérifier le nom du jeu de données et si j'ai changé le nom du jeu de données "Orders2", il me montre que l'ensemble de données requis "Ordres" n'est pas fourni. Donc, j'ai ajouter de la GridView sur la forme et le test de mon jeu de données. Le jeu de données contient les données et en montrant bien avec le contrôle GridView.

Le problème est qu'avec le Rapport et je ne pouvais pas lier les données de façon dynamique à la ReportViewer. S'il vous plaît aider moi. Merci.

protected void Page_Load(object sender, EventArgs e)
{
    DataSet ds = GetDataSet();
    ReportDataSource rds = new ReportDataSource("Orders", ds.Tables[0]);
    ReportViewer1.LocalReport.DataSources.Clear();
    ReportViewer1.LocalReport.DataSources.Add(rds);
    ReportViewer1.LocalReport.Refresh();

    GridView1.DataSource = ds;
    GridView1.DataBind();
}

private DataSet GetDataSet()
{
    var conString = ConfigurationManager.ConnectionStrings["dotnetConnectionString"];
    string strConnString = conString.ConnectionString;

    SqlConnection conn = new SqlConnection(strConnString);
    conn.Open();
    string sql = "Select * FROM Orders";

    SqlDataAdapter ad = new SqlDataAdapter(sql, conn);
    DataSet ds = new DataSet();        
    ad.Fill(ds);

    return ds;
}

ASPX codes sont comme ci-dessous:

<form id="form1" runat="server">
<div>
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <rsweb:ReportViewer ID="ReportViewer1" runat="server" Height="600px" Width="800px">
        <LocalReport ReportPath="Reports\Report.rdlc">
            <DataSources>
                <rsweb:ReportDataSource />
            </DataSources>
        </LocalReport>
    </rsweb:ReportViewer>
    <asp:GridView ID="GridView1" runat="server">
    </asp:GridView>
</div>
</form>
pouvez-vous nous expliquer comment est votre conception de RDLC.? Si nous sommes de la liaison de données de définir dynamiquement alors que penser de la rdlc conception.?
Avez-vous encore besoin pour concevoir le fichier rdlc à l'avance? Ou avez-vous juste de créer le fichier rdlc, sans l'insertion de tableaux ou de liaison? J'ai testé, si j'ai de la conception - création de la table et de se lier avec jeu de données, il montre parfaitement. Mais en fonction de votre question principale, je pensais que vous le faites de façon dynamique.

OriginalL'auteur TTCG | 2011-01-10