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.排除线程并发引起后,看看是不是取值策略:如果是参数化,看看是不是每次迭代,每次都取唯一 ...
随机推荐
- java中package包
一个.java文件内部有一个.而且只能有一个public类,类名必须与文件名完全一致. 在一个.java文件的开头使用package关键字,作用是指出这个编译单元属于该package的一个库的一部分. ...
- 【AtCoder】ARC067
ARC067 C - Factors of Factorial 这个直接套公式就是,先求出来每个质因数的指数幂,然后约数个数就是 \((1 + e_{1})(1 + e_{2})(1 + e_{3}) ...
- 【LOJ】#3051. 「十二省联考 2019」皮配
LOJ#3051. 「十二省联考 2019」皮配 当时我在考场上觉得这题很不可做... 当然,出了考场后再做,我还是没发现学校和城市是可以分开的,导致我还是不会 事实上,若一个城市投靠了某个阵营,学校 ...
- [游戏复刻] 2048(2014. Android)
等哪一天我有很多很多的时间再写吧...
- springboot service dockerfile
FROM java:8u111 MAINTAINER ianthony7@163.com # 定义变量 ENV WORK_DIR /opt ENV LOG_DIR /data/logs EXPOSE ...
- 适合新手的160个creakme(二)
先跑一下,然后找出关键字符串 关键字符串是You Get Wrong和Try Again,不过IDA好像识别不出来这个字符串,在Ollydbg中右键Search For,寻找所有字符串,可以找到这些字 ...
- git bash配置SSH远程连接阿里云ECS
1.连接配置 1-1.添加安全组规则 1-2.使用GitHub的话本地都会有id_rsa.pub(公钥),id_rsa(私钥),一般保存在C盘用户目录下.ssh文件夹. 把公钥内容复制下来(ssh-r ...
- IOI2020只因训队作业胡做
w a r n i n g ! 意 识 流 警 告 !!1 不想一个个发了,干脆直接发个合集得了qwq 感觉这辈子都做不完了\(Q\omega Q\) CF516D 写过题解了 CF505E 写过题解 ...
- JavaScript 标准内置对象
JavaScript 标准内置对象或称全局的对象(global objects)不要和 全局对象(global object)混淆.这里说的全局的对象是说在全局作用域里的对象,全局作用域包含了全局对象 ...
- vue项目js实现图片放大镜功能
效果图: 我写的是vue的组件形式,方便复用,图片的宽高,缩放的比例可以自己定义 magnifier.vue <template> <div class="magnif ...