2012-02-21 30 views
0

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

但是,生成报表时,该数据集的顺序是不工作的报告。我如何才能在报告上执行正确的从上至下的顺序?

回答

0

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