RDLC 传参 报表出现错误 (未解决)

经过测试 可以用的 带传参的 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>="第" & Globals!PageNumber & "页 共" & Globals!TotalPages & "页"</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 传参 报表出现错误 (未解决)的更多相关文章
- java向python ,text文件动态传参或传值问题完美解决
由于业务需要对python文件进行参数传递,通过下面两个java方法完美解决此问题,我的思路是:首先我要先把上次写的参数删除,第二我要新的参数写到python文件中. 第一个方法解决了删除上次传递的参 ...
- url传参中文乱码解决
url传参request.setCharacterEncoding("utf-8");无法解决中文乱码问题 解决方法: 修改tomcat---conf----server.xml文 ...
- vue路由传参的三种方式以及解决vue路由传参页面刷新参数丢失问题
最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决:Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下: 方法一:params传参: this.$r ...
- action之间传参为中文;type='redirect'和 type='redirectAction'主要区别
摘录自:http://blog.csdn.net/lhi705/article/details/7446156 Struts2中action之间传参中文乱码的问题 解决方法一(已经验证,可以): 两个 ...
- vue路由对不同界面进行传参及跳转的总结
最近在做一个公众号的商城项目,主要用的VUE+MUI,其实今天这个点对于有过项目经验的前端工作者来说是最基础的,但也是必须要掌握的,今天小编主要是记录下传参和跳转的一些总结(仅供参考). 首先我们先上 ...
- vue路由传参页面刷新参数丢失问题解决方案
最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决:Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下: 方法一:params传参: this.$r ...
- shell动态向sql传参
一直在想有什么好方法可以实现,用shell动态给sql传参,自己写了一个简单,有什么好方法,欢迎留言补充,下面代码纯手打,可能有疏忽之处,请大佬批评指正指正. 实现方法如下: 1.新建一个文件02.t ...
- RDLC报表BC4000错误
如果RDLC报表报 BC4000错误,那是因为在矩阵外上面添加了文本框的缘故,导致系统不能读到RDLC报表表体,告诉你报表没有定义: 解决办法: 把表头文字放入矩阵中.
- jmeter运行脚本后,请求偶发性的传参错误
问题现象:jmeter写好脚本后,请求偶发性的传参错误 排查过程:1.结合报错返回值,看是不是线程并发引起: 2.排除线程并发引起后,看看是不是取值策略:如果是参数化,看看是不是每次迭代,每次都取唯一 ...
随机推荐
- 【AtCoder】ARC067
ARC067 C - Factors of Factorial 这个直接套公式就是,先求出来每个质因数的指数幂,然后约数个数就是 \((1 + e_{1})(1 + e_{2})(1 + e_{3}) ...
- LC 20 Valid Parentheses
问题 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the i ...
- php常用扩展有哪些
bcmath(精确数值处理) bz2 calendar Core ctype curl date dom ereg exif fileinfo filter ftp gettext hash icon ...
- PHP无限极菜单
权限表结构 CREATE TABLE `blog_auth` ( `id` ) unsigned NOT NULL AUTO_INCREMENT COMMENT '序号', `pid` ) NOT N ...
- matplotlib 画图中的basemap安装问题
在我用matplotlib画图是会用到,basemap这个库,但是直接安装却会出现问题: 使用这条安装命令就能够安装功能了: conda install -c conda-forge basemap= ...
- rabbitmq消息队列,消息发送失败,消息持久化,消费者处理失败相关
转:https://blog.csdn.net/u014373554/article/details/92686063 项目是使用springboot项目开发的,前是代码实现,后面有分析发送消息失败. ...
- MySQL 聚合函数(一)聚合(组合)函数概述
MySQL版本:5.7+ 本节介绍对值的集合进行操作的组合(聚合)函数.翻译自:Aggregate (GROUP BY) Function Descriptions 一.MySQL 5.7中的聚合函数 ...
- 怎样理解Cookie
一. 什么是Cookie Cookie是服务器保存在浏览器里的一小段文本信息, 大小一般不超过4KB, 浏览器每次向服务器发起HTTP请求时就会自动附带上这段信息. 二. Cookie 的主要作用 1 ...
- 常用javascript内置对象——String对象
创建 String 对象的语法: 1:new String(s); :2:String(s); :3:直接赋值 String中属性 String中方法 <script> window.on ...
- c# 将datatable中的数据保存到excel文件中
using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Lin ...