rdlc 报表

      2)使用TableAdapter 配置向导向DataSet1.xsd中添加一个DataTable.(选择一个你数据库中已有的表)下面是我创建的一个DataTable. 

 

   5、接下来我们创建一个报表文件。选择添加-新建项-报表。新建文件夹ReprotTemplate里新建 DistributionReport.rdlc

  1)你可以直接向上面那样用设计器添加一个类型化的DataSet到报表的数据源,但是我发现在Web项目中没有可以让你选择的可视化的操作。如果你使用WinForm做这个练习,很幸运设计器强帮你完成一切。

       2)如果你想使用对象数据源,可以直接修改.rdlc源代码(用右键Report1.rdlc选择打开方式--XML(文本)编辑器要比直接右击-查看代码好一点)

  将下面代码DataSource  Name=“DistributionDataSet” 改为指定的数据源

 

  <DataSource Name="DistributionDataSet">

      <ConnectionProperties>
        <DataProvider>System.Data.DataSet</DataProvider>
        <ConnectString>/* Local Connection */</ConnectString>
      </ConnectionProperties>
      <rd:DataSourceID>30b103ac-eadb-4c8e-9a10-eac014f392eb</rd:DataSourceID>
    </DataSource>
  </DataSources>

 

 

接着将<DataSet Name="DataSet1"> 、<DataSourceName>DistributionDataSet</DataSourceName>、

<rd:DataSetName>Efruit_CN_SHDataSet</rd:DataSetName>

        、<rd:SchemaPath>E:\lixuehuaDEMO\YGReport\YGReport\Efruit_CN_SHDataSet.xsd</rd:SchemaPath> 

改为制定的数据源名称 DistributionDataSet

<DataSet Name="DistributionDataSet"> 、<DataSourceName>DistributionDataSet</DataSourceName>、

<rd:DataSetName>Efruit_CN_SHDataSet</rd:DataSetName>

        、<rd:SchemaPath>E:\lixuehuaDEMO\YGReport\YGReport\DataEntity\DistributionDataSet.xsd</rd:SchemaPath>  


<DataSets>

    <DataSet Name="DataSet1">

      <Fields>

        <Field Name="AreaId">

          <DataField>AreaId</DataField>

          <rd:TypeName>System.Guid</rd:TypeName>

        </Field>

        <Field Name="AreaName">

          <DataField>AreaName</DataField>

          <rd:TypeName>System.String</rd:TypeName>

        </Field>

        <Field Name="Grade">

          <DataField>Grade</DataField>

          <rd:TypeName>System.Int32</rd:TypeName>

        </Field>

        <Field Name="PriorId">

          <DataField>PriorId</DataField>

          <rd:TypeName>System.Guid</rd:TypeName>

        </Field>

        <Field Name="IsLowest">

          <DataField>IsLowest</DataField>

          <rd:TypeName>System.Int32</rd:TypeName>

        </Field>

        <Field Name="HighId">

          <DataField>HighId</DataField>

          <rd:TypeName>System.Guid</rd:TypeName>

        </Field>

        <Field Name="Disabled">

          <DataField>Disabled</DataField>

          <rd:TypeName>System.Int32</rd:TypeName>

        </Field>

        <Field Name="REC_CreateTime">

          <DataField>REC_CreateTime</DataField>

          <rd:TypeName>System.DateTime</rd:TypeName>

        </Field>

        <Field Name="REC_CreateBy">

          <DataField>REC_CreateBy</DataField>

          <rd:TypeName>System.String</rd:TypeName>

        </Field>

        <Field Name="REC_ModifyTime">

          <DataField>REC_ModifyTime</DataField>

          <rd:TypeName>System.DateTime</rd:TypeName>

        </Field>

        <Field Name="REC_ModifyBy">

          <DataField>REC_ModifyBy</DataField>

          <rd:TypeName>System.String</rd:TypeName>

        </Field>

      </Fields>

      <Query>

        <DataSourceName>DistributionDataSet</DataSourceName>

        <CommandText>/* Local Query */</CommandText>

      </Query>

      <rd:DataSetInfo>

        <rd:DataSetName>Efruit_CN_SHDataSet</rd:DataSetName>

        <rd:SchemaPath>E:\lixuehuaDEMO\YGReport\YGReport\Efruit_CN_SHDataSet.xsd</rd:SchemaPath>

        <rd:TableName>Dim_Area</rd:TableName>

        <rd:TableAdapterFillMethod>Fill</rd:TableAdapterFillMethod>

        <rd:TableAdapterGetDataMethod>GetData</rd:TableAdapterGetDataMethod>

        <rd:TableAdapterName>Dim_AreaTableAdapter</rd:TableAdapterName>

      </rd:DataSetInfo>

    </DataSet>

  </DataSets> 

 

在aspx页面cs文件里写的代码

YGReport.DataEntity.DistributionDataSet.Fct_OrderDataTable dataTable = new DataEntity.DistributionDataSet.Fct_OrderDataTable();

            YGReport.DataEntity.DistributionDataSetTableAdapters.Fct_OrderTableAdapter dapter = new DataEntity.DistributionDataSetTableAdapters.Fct_OrderTableAdapter();

            dataTable = dapter.GetData();


            //YGReport.Efruit_CN_SHDataSet.Fct_OrderDataTable dataTable = new Efruit_CN_SHDataSet.Fct_OrderDataTable();

            //YGReport.Efruit_CN_SHDataSetTableAdapters.Fct_OrderTableAdapter dapter = new Efruit_CN_SHDataSetTableAdapters.Fct_OrderTableAdapter();

            //dataTable = dapter.GetData();


            ReportDataSource rds = new ReportDataSource("DistributionDataSet", dataTable.DefaultView);


            // DataSet1_Customers为之前添加的数据集以及对应的数据包,dt就是我们自定义的数据源


            ReportViewer1.LocalReport.ReportPath = "E:/lixuehuaDEMO/YGReport/YGReport/ReprotTemplate/DistributionReport.rdlc";


            //此处就是对应要关联的报表,当然在前台设计的时候也可以直接选择


            ReportViewer1.LocalReport.DataSources.Clear();


            ReportViewer1.LocalReport.DataSources.Add(rds);


            ReportViewer1.LocalReport.Refresh();

            m_currentPageIndex = 0; 

 

posted @ 2010-10-26 14:33  皮皮狗  阅读(703)  评论(0编辑  收藏  举报