c#RDLC ASPNET表单页面中的新列为空

时间:2018-07-18 22:28:56

标签: c# rdlc reportviewer localreport

我有一个呈现.rdlc报告的ASPNET Forms页面。 我的意图是在用于报表的SQL过程中添加2个新列以显示在页面中。

因此,我成功更新了添加新列的过程。

Querie result in SQL server

我很可能在现有的.xsd中添加2个与过程SQL结果同名的新列。

enter image description here

因此,我进入了.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

my DataSet in Report Data

在我的.rdlc [Design]中,我没有问题地添加了2个新列。 my .rdlc Design

当我运行我的网站并呈现.rdlc时,页面上将显示所有列,但新的2列除外。 my website and render the .rdlc

我的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>

有人知道吗?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,但是我正在使用LINQtoSQL类(dbml),并且必须刷新对存储过程的引用(删除它,然后从dbml类中再次添加)。也许您需要对DataSource做同样的事情。