我有一个绑定到LinqDataSource的可用性报告查看器控件:
<MyReport:ReportViewer ID="rvAvailabilty" runat="server" >
<LocalReport>
<DataSources>
<MyReport:ReportDataSource DataSourceId="ldsAvailabiltyRows" Name="DataSetAvailabilty" />
</DataSources>
</LocalReport>
</MyReport:ReportViewer>
<asp:LinqDataSource ID="ldsAvailabiltyRows" runat="server" ContextTypeName="MyApp.MyDataContext" EntityTypeName="MyApp.AvailabiltyRow" OnSelecting="ldsAvailabiltyRows_Selecting" >
</asp:LinqDataSource>
在后面的代码中,我指定了一个存储库调用来返回一组有序(字母)行。订单从存储库中是正确的。
public void ldsAvailabiltyRows_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
e.Result = repo.GetReportAvailabiltyRows(); // this repository call returns the correctly ordered data set
}
但是,生成报告时,数据集的顺序不适用于报告。如何在报告中强制执行正确的自上而下的订单?
答案 0 :(得分:0)
我发现了自己的答案:报告的RDLC在其tablix的行级别定义了一个组。在每个组中都有一个默认的Sort By列,并且此设置覆盖了我的LinqDataSource指定的任何顺序。