zoukankan      html  css  js  c++  java
  • RDLC报表 中略去XSD文件的支持

    RDLC常规例子是
    新建一个Winform 页面
    拖一个ReportViewer控件到上面.
    再用 报表向导 从数据库中指定一个表一路默认.这个时候会生成 DataSet1.xsd
    在这个DataSet1.xsd中针对你选择的表定义了一些DataSet等对象的结构.
    然后针对 ReportViewer 指定这个报表.同时刷新绑定数据源.

    图表就可以出来了.


    针对这个例子

    我们可以修改数据源

    DataTable dt = new DataTable();
    dt.Columns.Add("USER_ID");
    dt.Columns.Add("Role_ID");
    dt.Columns.Add("USER_NAME");
    DataRow dr = dt.NewRow();
    dr[0] = "1";
    dr[1] = "31";
    dr[2] = "aaa";
    dt.Rows.Add(dr);
    Microsoft.Reporting.WinForms.ReportDataSource reportDataSource2 = new 

    Microsoft.Reporting.WinForms.ReportDataSource("aaa",dt);
    this.ReportViewer1.LocalReport.DataSources.Add(reportDataSource2);
    this.ReportViewer1.RefreshReport();

    "aaa" 这个名字不需要为原来的名字,只需要和RDLC文件(用XML方式打开)中的
     <DataSets>
        <DataSet Name="aaa">
    以及
    <Table Name="table1">
            <DataSetName>aaa</DataSetName>

    一致就行了.
    同时在 DataTable 中存在的列,你需要手动修改到RDLC文件(用XML方式打开)中的 
    <DataSets>
        <DataSet Name="aaa">
    <Fields>
            <Field Name="ROLE_ID">
              <DataField>ROLE_ID</DataField>
              <rd:TypeName>System.Decimal</rd:TypeName>
            </Field>
            <Field Name="USER_NAME">
              <DataField>USER_NAME</DataField>
              <rd:TypeName>System.String</rd:TypeName>
            </Field>
            <Field Name="USER_ID">
              <DataField>USER_ID</DataField>
              <rd:TypeName>System.Decimal</rd:TypeName>
            </Field>
          </Fields>
          <Query>
            <DataSourceName>ConnectionString</DataSourceName>
            <CommandText> </CommandText>
            <rd:UseGenericDesigner>true</rd:UseGenericDesigner>
          </Query>
    中即可.

    当然 在RDLC设计页面(VS默认打开).指定的Field也需要是DataTabe中的列.
    这样 就不再需要DataSet1.xsd文件了, 同时也方便了字段的修改.也不需要报表链接数据库了.

    有点乱, 权当自己记录下.

  • 相关阅读:
    LeetCode 169
    LeetCode 152
    LeetCode 238
    LeetCode 42
    LeetCode 11
    GDB基本调试
    小咪买东西(最大化平均值)
    codeforces 903D
    hdu 5883
    hdu 5874
  • 原文地址:https://www.cnblogs.com/lmarsy/p/1661627.html
Copyright © 2011-2022 走看看