经过测试  可以用的 带传参的  RDLC  在vs2019上 能正常运行

但在vs2019上剪切后,保存, 运行就会报An error 错误, ctr+z 全部 撤销后 保存     一样会报  这个错误, 一脸懵逼 ,这是什么鬼!!!

public Dictionary<string, Type> Getdt_columns_attribute(DataTable dt)
{
if (dt == null) { return null; }
Dictionary<string, Type> dic = new Dictionary<string, Type>(); foreach (DataColumn dc in dt.Columns)
{
dic.Add(dc.ColumnName, dc.DataType);
}
return dic;
}
public string get_数据集中字段(Dictionary<string, Type> types)
{
/*
<Fields>
<Field Name="产品型号"> <!--显示名称-->
<DataField>产品型号</DataField> <!--绑定的数据名称-->
<rd:TypeName>System.String</rd:TypeName> <!--绑定的数据类型-->
</Field>
</Fields>
*/
StringBuilder sb = new StringBuilder();
sb.Append("<Fields>");
foreach (KeyValuePair<string, Type> kvp in types)
{
var t1 = kvp.Key;
var t2 = kvp.Value.FullName;
sb.AppendFormat("<Field Name=\"{0}\">", t1);
sb.AppendFormat("<DataField>{0}</DataField>", t1);
sb.AppendFormat("<rd:TypeName>{0}</rd:TypeName>", t2);
sb.AppendFormat("</Field>"); }
sb.AppendFormat("</Fields>"); var t = sb.ToString();
return sb.ToString();
} public string get_表阵列集合(DataTable dt)
{
/*
<!--表阵 列集合-->
<TablixColumns>
<TablixColumn>
<Width>1.44804in</Width>
</TablixColumn>
</TablixColumns>
*/
StringBuilder sb = new StringBuilder();
sb.AppendFormat("<TablixColumns>"); foreach (DataColumn dc in dt.Columns)
{
sb.AppendFormat("<TablixColumn>");
sb.AppendFormat("<Width>1.44804in</Width>");
sb.AppendFormat("</TablixColumn>");
}
sb.AppendFormat("</TablixColumns>"); var t = sb.ToString();
return sb.ToString();
}
public string get_表阵单元格集合(DataTable dt)
{
/*
<!--表阵单元格集合-->
<TablixCells>
<TablixCell>
<CellContents><Textbox Name="Textbox1">
<CanGrow>true</CanGrow><KeepTogether>true</KeepTogether><Paragraphs><Paragraph><TextRuns><TextRun>
<Value>产品型号</Value>
<Style><FontFamily>宋体</FontFamily></Style></TextRun></TextRuns><Style><TextAlign>Center</TextAlign></Style></Paragraph></Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Style><Border><Style>Solid<Style></Border><VerticalAlign>Middle</VerticalAlign><PaddingLeft>2pt</PaddingLeft><PaddingRight>2pt</PaddingRight></Style>
</TextBox></CellContents>
</TablixCell></TablixCells> */
StringBuilder sb = new StringBuilder();
sb.AppendFormat("<TablixCells>");
for (int i = ; i < dt.Columns.Count; i++)
{
sb.AppendFormat("<TablixCell>");
sb.AppendFormat("<CellContents><Textbox Name=\"Textbox{0}\">", i);
sb.AppendFormat("<CanGrow>true</CanGrow><KeepTogether>true</KeepTogether><Paragraphs><Paragraph><TextRuns><TextRun>");
sb.AppendFormat("<Value>{0}</Value>", dt.Columns[i].ColumnName);
sb.AppendFormat("<Style><FontFamily>宋体</FontFamily></Style></TextRun></TextRuns><Style><TextAlign>Center</TextAlign></Style></Paragraph></Paragraphs>");
sb.AppendFormat("<rd:DefaultName>Textbox{0}</rd:DefaultName>", i);
sb.AppendFormat("<Style><Border><Style>Solid</Style></Border><VerticalAlign>Middle</VerticalAlign><PaddingLeft>2pt</PaddingLeft><PaddingRight>2pt</PaddingRight></Style>");
sb.AppendFormat("</Textbox></CellContents>");
sb.AppendFormat("</TablixCell>");
}
sb.AppendFormat("</TablixCells>"); var t = sb.ToString();
return sb.ToString(); }
public string get_表阵单元格集合_赋值(DataTable dt)
{
/*
<TablixCells>
<TablixCell> <CellContents><TextBox Name="产品型号">
<CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether><Paragraphs><Paragraph><TextRuns><TextRun>
<Value>=Fields!产品型号.Value</Value>
<Style><FontFamily>宋体</FontFamily></Style></TextRun></TextRuns><Style><TextAlign>Center</TextAlign></Style></Paragraph></Paragraphs>
<rd:DefaultName>产品型号</rd:DefaultName>
<Style><Border><Style>Solid<Style></Border><VerticalAlign>Middle</VerticalAlign><PaddingLeft>2pt</PaddingLeft><PaddingRight>2pt</PaddingRight></Style>
</TextBox></CellContents>
</TablixCell>
</TablixCells>
*/ StringBuilder sb = new StringBuilder();
sb.AppendFormat("<TablixCells>");
for (int i = ; i < dt.Columns.Count; i++)
{
sb.AppendFormat("<TablixCell>");
sb.AppendFormat("<CellContents><Textbox Name=\"{0}\">", dt.Columns[i].ColumnName);
sb.AppendFormat("<CanGrow>true</CanGrow><KeepTogether>true</KeepTogether><Paragraphs><Paragraph><TextRuns><TextRun>");
sb.AppendFormat("<Value>=Fields!{0}.Value</Value>", dt.Columns[i].ColumnName);
sb.AppendFormat("<Style><FontFamily>宋体</FontFamily></Style></TextRun></TextRuns><Style><TextAlign>Center</TextAlign></Style></Paragraph></Paragraphs>");
sb.AppendFormat("<rd:DefaultName>Textbox{0}</rd:DefaultName>", i);
sb.AppendFormat("<Style><Border><Style>Solid</Style></Border><VerticalAlign>Middle</VerticalAlign><PaddingLeft>2pt</PaddingLeft><PaddingRight>2pt</PaddingRight></Style>");
sb.AppendFormat("</Textbox></CellContents>");
sb.AppendFormat("</TablixCell>");
}
sb.AppendFormat("</TablixCells>"); var t = sb.ToString();
return sb.ToString(); }
public string get_表阵列成员(DataTable dt)
{
/*
<!--表阵 列成员-->
<TablixMembers>
<TablixMember />
</TablixMembers>
*/
StringBuilder sb = new StringBuilder();
sb.AppendFormat("<TablixMembers>");
for (int i = ; i < dt.Columns.Count; i++)
{
sb.AppendFormat("<TablixMember />");
}
sb.AppendFormat("</TablixMembers>"); var t = sb.ToString();
return sb.ToString(); }
//调用
var types = Getdt_columns_attribute(dt);
get_数据集中字段(types);
get_表阵列集合(dt);
get_表阵单元格集合(dt);
get_表阵单元格集合_赋值(dt);
get_表阵列成员(dt);

XML 结构

<?xml version="1.0" encoding="utf-8"?>
<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition"> <!--数据源-->
<DataSources>
<DataSource Name="yderpDataSet"> <!--yderpDataSet为数据集-->
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
</DataSource>
</DataSources>
<!--数据集-->
<DataSets>
<DataSet Name="车间日报表"> <!--表名称-->
<!--字段-->
<Fields>
<Field Name="产品型号"> <!--显示名称-->
<DataField>产品型号</DataField> <!--绑定的数据名称-->
<rd:TypeName>System.String</rd:TypeName> <!--绑定的数据类型-->
</Field>
</Fields>
</DataSet>
</DataSet>
<!--主题-->
<body>
<ReportItems>
<!--表阵-->
<Tablix Name="Tablix1">
<!--表阵主体-->
<TablixBody>
<!--表阵 列集合-->
<TablixColumns>
<TablixColumn>
<Width>1.44804in</Width>
</TablixColumn>
</TablixColumns> <!--表阵行集合-->
<TabLixRows>
<TablixRow>
<Height>0.24664in</Height>
<!--表阵单元格集合-->
<TablixCells>
<TablixCell>
<!--单元格内容-->
<CellContents>
<!--文本框-->
<TextBox Name="Textbox1">
<!--可增长-->
<CanGrow>true</CanGrow>
<!--保持一致-->
<KeepTogether>true</KeepTogether>
<!--段落-->
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>产品型号</Value>
<!--样式-->
<Style>
<FontFamily>宋体</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<!--默认名称-->
<rd:DefaultName>Textbox1</rd:DefaultName>
<Style>
<!--边框:实线-->
<Border>
<Style>Solid</Style>
</Border>
<!--垂直对齐:中间-->
<VerticalAlign>Middle</VerticalAlign>
<!--左边距-->
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
</Style>
</TextBox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow> <TablixRow>
<Height>0.26747in</Height>
<TablixCells>
<TablixCell>
<!--单元格内容-->
<CellContents>
<TextBox Name="产品型号">
<!--可增长-->
<CanGrow>true</CanGrow>
<!--保持一致-->
<KeepTogether>true</KeepTogether>
<!--段落-->
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!产品型号.Value</Value>
<!--样式-->
<Style>
<FontFamily>宋体</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<!--默认名称-->
<rd:DefaultName>产品型号</rd:DefaultName>
<Style>
<!--边框:实线-->
<Border>
<Style>Solid</Style>
</Border>
<!--垂直对齐:中间-->
<VerticalAlign>Middle</VerticalAlign>
<!--左边距-->
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
</Style>
</TextBox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TabLixRows>
</TabliBody>
<!--表阵 列层次结构-->
<TablixColumnHierarchy>
<!--表阵 列成员-->
<TablixMembers>
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<!--表阵行层次结构-->
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<!--固定数据-->
<FixedData>true</FixedData>
<!--保持组-->
<KeepWithGroup>After</KeepWithGroup>
<!--在新的页-->
<RepeatOnNewPage>true</RepeatOnNewPage>
</TablixMember>
<!--表阵成员 -->
<TablixMember>
<Group Name="详细信息" />
<TablixMembers>
<TablixMember />
</TablixMembers>
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<!--数据集名称-->
<DataSetName>烧成车间日报表</DataSetName>
<Top>0.07056cm</Top>
<Left>0.5cm</Left>
<Height>1.30584cm</Height>
<Width>19.89838cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Tablix>
</ReportItems>
<Height>0.59376in</Height>
</body>
<!--报表参数-->
<ReportParameters>
<ReportParameter Name="Title">
<DataType>String</DataType>
<!--允许空值-->
<Nullable>true</Nullable>
<!--允许空白-->
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Line">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="WorkShop">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<Width>8.18603in</Width>
<!--页面-->
<Page>
<!--页头信息-->
<PageHeader>
<Height>1.50812cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Textbox Name="Textbox00">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!Title.Value</Value>
<Style>
<FontFamily>宋体</FontFamily>
<FontSize>12pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox00</rd:DefaultName>
<Top>0.05cm</Top>
<Left>0.5cm</Left>
<Height>0.67938cm</Height>
<Width>19.99843cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox01">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>生产线:</Value>
<Style>
<FontFamily>宋体</FontFamily>
</Style>
</TextRun>
<TextRun>
<Value>=Parameters!Line.Value</Value>
<Style>
<FontFamily>宋体</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox01</rd:DefaultName>
<Top>0.76466cm</Top>
<Left>0.5cm</Left>
<Height>0.6cm</Height>
<Width>3.46197cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox02">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!WorkShop.Value</Value>
<Style>
<FontFamily>宋体</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox02</rd:DefaultName>
<Top>0.76466cm</Top>
<Left>3.96197cm</Left>
<Height>0.6cm</Height>
<Width>16.53646cm</Width>
<ZIndex>2</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</PageHeader> <!--页脚-->
<PageFooter>
<Height>0.87313cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Textbox Name="Textbox03">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>="第" &amp; Globals!PageNumber &amp; "页 共" &amp; Globals!TotalPages &amp; "页"</Value>
<Style>
<FontFamily>宋体</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox03</rd:DefaultName>
<Top>0.1175cm</Top>
<Left>0.39704cm</Left>
<Height>0.6cm</Height>
<Width>19.99843cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</PageFooter>
<PageHeight>29.7cm</PageHeight>
<PageWidth>21cm</PageWidth>
<LeftMargin>0cm</LeftMargin>
<RightMargin>0cm</RightMargin>
<TopMargin>1cm</TopMargin>
<BottomMargin>1cm</BottomMargin>
<ColumnSpacing>0.13cm</ColumnSpacing>
</page>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
</Report>

RDLC 传参 报表出现错误 (未解决)的更多相关文章

  1. java向python ,text文件动态传参或传值问题完美解决

    由于业务需要对python文件进行参数传递,通过下面两个java方法完美解决此问题,我的思路是:首先我要先把上次写的参数删除,第二我要新的参数写到python文件中. 第一个方法解决了删除上次传递的参 ...

  2. url传参中文乱码解决

    url传参request.setCharacterEncoding("utf-8");无法解决中文乱码问题 解决方法: 修改tomcat---conf----server.xml文 ...

  3. vue路由传参的三种方式以及解决vue路由传参页面刷新参数丢失问题

    最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决:Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下: 方法一:params传参: this.$r ...

  4. action之间传参为中文;type='redirect'和 type='redirectAction'主要区别

    摘录自:http://blog.csdn.net/lhi705/article/details/7446156 Struts2中action之间传参中文乱码的问题 解决方法一(已经验证,可以): 两个 ...

  5. vue路由对不同界面进行传参及跳转的总结

    最近在做一个公众号的商城项目,主要用的VUE+MUI,其实今天这个点对于有过项目经验的前端工作者来说是最基础的,但也是必须要掌握的,今天小编主要是记录下传参和跳转的一些总结(仅供参考). 首先我们先上 ...

  6. vue路由传参页面刷新参数丢失问题解决方案

    最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决:Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下: 方法一:params传参: this.$r ...

  7. shell动态向sql传参

    一直在想有什么好方法可以实现,用shell动态给sql传参,自己写了一个简单,有什么好方法,欢迎留言补充,下面代码纯手打,可能有疏忽之处,请大佬批评指正指正. 实现方法如下: 1.新建一个文件02.t ...

  8. RDLC报表BC4000错误

    如果RDLC报表报 BC4000错误,那是因为在矩阵外上面添加了文本框的缘故,导致系统不能读到RDLC报表表体,告诉你报表没有定义: 解决办法: 把表头文字放入矩阵中.

  9. jmeter运行脚本后,请求偶发性的传参错误

    问题现象:jmeter写好脚本后,请求偶发性的传参错误 排查过程:1.结合报错返回值,看是不是线程并发引起: 2.排除线程并发引起后,看看是不是取值策略:如果是参数化,看看是不是每次迭代,每次都取唯一 ...

随机推荐

  1. Lucene 全文检索

    基于 lucene 8 1 Lucene简介 Lucene是apache下的一个开源的全文检索引擎工具包. 1.1 全文检索(Full-text Search) 全文检索就是先分词创建索引,再执行搜索 ...

  2. Python 解leetcode:48. Rotate Image

    题目描述:把一个二维数组顺时针旋转90度: 思路: 对于数组每一圈进行旋转,使用m控制圈数: 每一圈的四个元素顺时针替换,可以直接使用Python的解包,使用k控制每一圈的具体元素: class So ...

  3. 在springMVC框架中集成quartz作业调度器

    1.首先需要导入这几个jar包,如下图: 其中log4j,quartz,slf4j-api,slf4j-log4j12我是在项目中都引用了 2.引用完jar包后,新建一个作业调度类,执行作业调度逻辑, ...

  4. easyUI datagrid 刷新取消加载信息 自动刷新闪屏问题

    <style type="text/css"> /*-- 消除grid屏闪问题 --//*/ .datagrid-mask { opacity: 0; filter: ...

  5. Selenium工具爬取商品

    selenium是一个优秀的自动化测试工具,支持多种语言,具体介绍参考官方文档:https://www.seleniumhq.org/docs/. 下面我们使用selenium工具模拟用户点击商品详情 ...

  6. MySQL设置自增字段

    1.MySQL每张表只能有1个自增字段,这个自增字段即可作为主键,也可用作非主键使用,但是请注意将自增字段当做非主键使用时必须为其添加唯一索引,否则系统将会报错 )将自动增长字段设置为主键 CREAT ...

  7. Oracle 以及 PLSQL安装

    今天重装系统遇到oracle 安装的问题咯 ,oracle安装过程中很多疑难杂症咯 1如果之前装过,记得去删除注册表的Oracle 相关的文件 ,请百度有很多教程咯 2这个必须要勾选的!因为的是11g ...

  8. LeetCode 腾讯精选50题--二叉树的最大深度

    求二叉树的最大深度, 基本思路如下: 设定一个全局变量记录二叉树的深度,利用递归,没遍历一层都将临时深度变量+1,并在每一节点递归结束后判断深度大小. 具体代码如下: package algorith ...

  9. css文本超出隐藏 显示三个点

    文本超出显示三个点一般分两种情况 一,单行文本超出隐藏 overflow:hidden; text-overflow:ellipsis; white-space:nowrap; 二,多行文本超出隐藏 ...

  10. java实现判定新旧版本号

    废话不多说,直接上代码 /** * 判断是否为最新版本方法 将版本号根据.切分为int数组 比较 * * @param localVersion 本地版本号 * @param onlineVersio ...