1.先创建一个本地的数据库,右键单击你的项目-->选择【Add】--->New Item--->Local database.创建数据库后,添加一个数据表T_student,添加一些数据。
2.右键---->【Add】--->New Item--->Dataset(命名为information.xsd),把刚才创建的表T_student直接拖到information.xsd的设计界面上。
3.右键---->【Add】---->New Item---> Report(命名为report.rdlc),在report.rdlc的界面上右键---->【insert】---->【table】,此时会出现一个配置窗口,第一个【Name】填写你添加的dataset的名称(information),Data source选项选择information.
4.然后到winform界面。添加ReportViewer控件
5.在Form.cs中编写代码:
private void button2_Click(object sender, EventArgs e)
{
information ds1 = new information();
informationTableAdapters.table11TableAdapter ap = new informationTableAdapters.table11TableAdapter();
ap.Fill(ds1.table11);
DataTable dt1 = new DataTable();
dt1 = ds1.table11;
this.reportViewer1.Reset();
this.reportViewer1.LocalReport.DataSources.Clear();
this.reportViewer1.LocalReport.ReportPath = @"E: est code水晶报表水晶报表
eport1.rdlc";
ReportDataSource rds = new ReportDataSource("information", dt1); //ReportDataSource数据源的第一个参数必须与你添加的dataset的名字相同
this.reportViewer1.LocalReport.DataSources.Add(rds); //添加数据源
this.reportViewer1.ZoomMode = ZoomMode.Percent;
this.reportViewer1.RefreshReport();
}
文章引自:http://blog.csdn.net/qxlwuyuhui0801/article/details/8024999
1.建立一WinForm程序,并建立一数据库连接,选择order details表,此时会自动建立一个xsd的数据集类,如下图
2.在项目中右键,新添加一个Report1.rdlc报表文件,并向此空白报表中添加一表格,如下图
数据集属性窗口中的“名称”是此报表的名称,在后面会用到,一定要记住。
以下为添加了表格的报表
3.从“报表数据”中把数据字段拖动到此表格中,行或列可以用右键“插入”功能即可。字段放好后,进行以orderid分组,
“行组”表示和字段显示在同一行中,“列组“是专门起了一列。
4.给组头及组尾中的相关属性框进行表达式设计(双击字段或函数就会自动写到表达式下)
给Quantity进行汇总,在其下面的对应的文本框中右键,设置其表达式
5.以下为设计好的报表
6.在Form1的窗体上放一reportViewer1,在Form1的load事件中写入如下代码:
private void Form1_Load(object sender, EventArgs e) { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["myconstr"].ConnectionString)) { SqlDataAdapter sda = new SqlDataAdapter("select * from [order details]", conn); conn.Open(); DataSet ds = new DataSet(); sda.Fill(ds, "Order Details");//表名为xsd中表的名称 ReportDataSource RD = new ReportDataSource("DataSet1", ds.Tables[0]);//DataSet1为建立报表时用到的数据集名称 this.reportViewer1.ProcessingMode=Microsoft.Reporting.WinForms.ProcessingMode.Local; this.reportViewer1.LocalReport.ReportPath=@"C:UsersAdministratorDesktopWindowsFormsApplication2WindowsFormsApplication2Report1.rdlc"; this.reportViewer1.LocalReport.DataSources.Clear(); this.reportViewer1.LocalReport.DataSources.Add(RD); this.reportViewer1.RefreshReport(); }
new ReportDataSource表示把现有的数据集和报表原来的数据集进行绑定
7.运行效果如下:
文章引自:http://www.cnblogs.com/yagzh2000/archive/2013/07/30/3224826.html