填充绑定到LinqDataSource的报表查看器控件时出现行顺序错误

时间:2012-02-21 19:14:11

标签: asp.net reportviewer linqdatasource

我有一个绑定到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
}

但是,生成报告时,数据集的顺序不适用于报告。如何在报告中强制执行正确的自上而下的订单?

1 个答案:

答案 0 :(得分:0)

我发现了自己的答案:报告的RDLC在其tablix的行级别定义了一个组。在每个组中都有一个默认的Sort By列,并且此设置覆盖了我的LinqDataSource指定的任何顺序。