Erstellen von Datasets Dynamisch und Weitergabe zu ReportViewer
alles was ich getan habe ist, erstellen Sie einfach einen reportViewer in der form, dann habe ich diesen code:
SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=G:\I.S\C#\billingSystem\Store.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
private void Form1_Load()
{
runRptViewer();
cn.Open();
}
private void rptGetDataset()
{
DataSet ds = new DataSet();
ds.DataSetName = "dsNewDataSet";
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM NewBill", cn);
ds.GetXmlSchema();
da.Fill(ds);
ds.WriteXmlSchema(@"G:\I.S\Testoooooooo\Testoooooooo\Dataset1.xsd");
ds.WriteXml(@"G:\I.S\Testoooooooo\Testoooooooo\Dataset1.xml");
}
private DataTable getData()
{
DataSet dss = new DataSet();
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM NewBill", cn);
da.Fill(dss);
DataTable dt = dss.Tables["NewBill"];
return dt;
}
private void runRptViewer()
{
this.reportViewer2.Reset();
//this.ReportViewer1.LocalReport.ReportPath = Server.MapPath("Report.rdlc");
this.reportViewer2.LocalReport.ReportPath =(@"G:\I.S\Testoooooooo\Testoooooooo\Report1.rdlc");
ReportDataSource rds = new ReportDataSource("dsNewDataSet_NewBill", getData());
this.reportViewer2.LocalReport.DataSources.Clear();
this.reportViewer2.LocalReport.DataSources.Add(rds);
//this.reportViewer2.DataBind();
this.reportViewer2.LocalReport.Refresh();
}
}
habe ich zwei reportViewer die reportViewer1 Arbeit, aber bei dem Verzeichnis der db ändern, es wird nicht funktionieren, so thats, warum ich versuchen, in einem anderen reportViewer, damit es funktioniert, auch wenn das Verzeichnis der db geändert, ich kann nur die Verbindungszeichenfolge ändern.
Das problem ist der Bericht nicht alles zeigen, ich denke, dass das problem im code:
//this.ReportViewer1.LocalReport.ReportPath = Server.MapPath("Report.rdlc");
dies ist ein windows-Formular, so gibt es keinen server, ich habe es zu ändern:
this.reportViewer2.LocalReport.ReportPath =(@"G:\I.S\Testoooooooo\Testoooooooo\Report1.rdlc");
und diese funktionieren nicht:
//this.reportViewer2.DataBind();
kann ich nicht verstehen, diese zwei Zeilen, bedeutet es, erstellen Sie ein Dataset1.xsd und Dataset1.xml oder einfach nur Bearbeiten.
ds.WriteXmlSchema(@"G:\I.S\Testoooooooo\Testoooooooo\Dataset1.xsd");
ds.WriteXml(@"G:\I.S\Testoooooooo\Testoooooooo\Dataset1.xml");
wenn möglich brauche ich eine Schritte von der Erstellung jedes Ding zu codding, dass wird toll werden.
InformationsquelleAutor Maged E William | 2013-06-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie hast du das dataset? Ist es von SQL-oder Objekte im Speicher?
Wenn Sie havent erstellt ein dataset, das Sie tun müssen, um eine zu erstellen, bevor der Bericht richtig arbeiten kann. Dies könnte helfen: http://shrutikapoor-ubc.blogspot.com/2013/05/using-business-objects-in-report-viewer.html
InformationsquelleAutor Shruti Kapoor
Microsoft hat einen ziemlich guten walkthrough hier...
http://blogs.msdn.com/b/sqlforum/archive/2011/04/28/sql-reporting-services-ssrs-bind-dynamic-dataset-to-your-local-report-with-reportviewer.aspx
InformationsquelleAutor MQuiggGeorgia
Verwenden des Berichts-viewer in der C# - WinForm-Projekt fügen Sie den folgenden code auf eine Schaltfläche oder in form_load:
Angenommen, Sie haben eine gespeicherte Prozedur, die akzeptiert @parameter ProjectID. Sie haben, um die
cmd.CommandType = CommandType.Text
wenn Sie diesen Parameter übergeben, zusammen mit der sql-Befehl. Allerdings, wenn Sie nicht wollen, um Parameter übergeben, ändern Sie einfach die commandType zucmd.CommandType = CommandType.StoredProcedure
.Unten ist die gespeicherte Prozedur in diesem Beispiel verwendet:
InformationsquelleAutor A Ghazal