我有一个呈现.rdlc报告的ASPNET Forms页面。 我的意图是在用于报表的SQL过程中添加2个新列以显示在页面中。
因此,我成功更新了添加新列的过程。
我很可能在现有的.xsd中添加2个与过程SQL结果同名的新列。
因此,我进入了.rdlc并在报告数据中写下了我的PS> Get-Command -All sc
CommandType Name Version Source
----------- ---- ------- ------
Alias sc -> Set-Content
Application sc.exe 10.0.17... C:\WINDOWS\system32\sc.exe
在我的.rdlc [Design]中,我没有问题地添加了2个新列。
当我运行我的网站并呈现.rdlc时,页面上将显示所有列,但新的2列除外。
我的aspx和aspx.cs不会受到修改,因为我没有更改诸如ReportPath,rsweb:ReportViewer,DataSourceId =“ ObjectDataSource1”之类的所有内容。
我不明白为什么新列为空,而其他列返回数据。
更多信息:
aspx报告绑定数据与上面的代码不符:
DataSet
[My DAO方法]”和“ [My DAO类]”正在页面上并返回我的目标对象的列表
<asp:Panel...>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt" HyperlinkTarget="_blank"
Width="816px" ShowCredentialPrompts="False" ShowDocumentMapButton="False" ShowParameterPrompts="False" InteractiveDeviceInfos="(Collection)">
<LocalReport ReportPath="The path of my .rdlc file" EnableExternalImages="True" EnableHyperlinks="True">
<DataSources>
<rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="My DataSet name in Report Data" />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
</asp:Panel>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="[My DAO Method]" TypeName="[My DAO Class]">
<SelectParameters>
我进入 Sql Profiller 程序,该程序在[My DAO Method]中执行,并成功获取新列。
当我设置参数,使其可见,创建LocalReport.Refresh并启用Panel时,在click事件内执行Report的执行:
IList<TheObjectTarget>
有人知道吗?
答案 0 :(得分:0)
我遇到了同样的问题,但是我正在使用LINQtoSQL
类(dbml
),并且必须刷新对存储过程的引用(删除它,然后从dbml类中再次添加)。也许您需要对DataSource
做同样的事情。