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>
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
Vous devez vous connecter pour publier un commentaire.
J'ai déjà résolu mon problème.
Le problème est que vous devez ajouter vos codes de sous IsPostBack emballage.
OriginalL'auteur TTCG
Dans le Pade_load événement, ajoutez ce code
OriginalL'auteur Remya