Asp.net Objectdatasource和Gridview:排序、分页、筛选

Asp.net Objectdatasource和Gridview:排序、分页、筛选,asp.net,sorting,paging,objectdatasource,Asp.net,Sorting,Paging,Objectdatasource,我正在使用EntityFramework1.0,并试图用一个可以访问我的facade的objectdatasource输出一个Gridview。问题是,它似乎特别困难,而且还没有看到任何真正做到我希望它在互联网上做到的事情 对于那些知道的人来说,一个由objectdatasource提供的gridview不能自动排序,那么你必须手动排序。没那么糟。当我们将分页和过滤器设置添加到gridview的数据源时,这将成为一场噩梦 在互联网上搜索了好几个小时后,我问你们,伙计们,是否有人知道一个链接可以解

我正在使用EntityFramework1.0,并试图用一个可以访问我的facade的objectdatasource输出一个Gridview。问题是,它似乎特别困难,而且还没有看到任何真正做到我希望它在互联网上做到的事情

对于那些知道的人来说,一个由objectdatasource提供的gridview不能自动排序,那么你必须手动排序。没那么糟。当我们将分页和过滤器设置添加到gridview的数据源时,这将成为一场噩梦

在互联网上搜索了好几个小时后,我问你们,伙计们,是否有人知道一个链接可以解释我如何混合使用分页排序过滤,以获得gridview和objectdatasource


提前感谢,并为我的英语道歉。

最后!经过两天的搜索,终于找到了另一个选择!小心


你可能不再感兴趣了,但我想我还是发布了一个答案:

我正在使用Linq2Sql和ObjectDataSource,它可以很好地进行分页和排序

我实现了一个用作ObjectDataSource的类。它有一个调用my business layer的Select和Count方法,该方法使用Linq2SQL查询从数据库检索数据,应该与EntityFramework类似。select方法自动获取第一项索引、页面大小和排序表达式作为参数

public List<EntityClass> Select(int startIndex, int pageSize, string sortBy) {}
public int Count() {}
public List Select(intstartindex,intpagesize,string sortBy){
公共整数计数(){}
在ASPX中,数据源的配置如下:

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"  
     SelectMethod="Select" EnablePaging="true"
     StartRowIndexParameterName="startIndex" 
     MaximumRowsParameterName="pageSize"
     SortParameterName="sortBy" SelectCountMethod="Count" >   
</asp:ObjectDataSource>
代码不多,数据绑定、分页和排序自动工作


如果您感兴趣,我可以发布更多代码的详细信息。

这个解释非常好而且简单:。

我知道这是一个老问题,但下面是我如何处理的。将ObjectDataSource添加到我的aspx页面:

<asp:ObjectDataSource ID="myDataSource" runat="server"  
   SelectMethod="GetSearchResults" EnablePaging="true"
   StartRowIndexParameterName="startIndex" 
   MaximumRowsParameterName="pageSize"
   SortParameterName="sortBy" SelectCountMethod="GetSearchCount" >   
</asp:ObjectDataSource>
然后我在同一个页面(在同一个类中)上使用静态方法来更新gridview:

public static int GetSearchCount()
{
    return _RowCount;//set elsewhere in code - this is the total number of rows for the query
}

public static DataTable GetSearchResults(string sortBy, int pageSize, int startIndex)
{
     //Code to dynamically generate SQL statements based on supplied parameters
     //then return a datatable containing only the data to be shown in the gridview
}

是的,我们决定朝这个方向走。但是,我很想知道是否有一种方法可以让SQL数据源这样的东西与我们不必做的工作结合起来。我的,不知道该怎么说,但我的“首席程序员”在Studio 2010 LLBL Gen中发现了Entity 4,它非常强大,排序、分页和查询效率更高,所需操作更少,它包括强大的排序/分页方法,这些方法在返回所有数据之前与数据库交互。但是谢谢彼得!也许我应该问一下什么时候我们才能完全实现它!这种联系现在不起作用。不好意思,因为我想知道怎么做。你有关于这个西蒙的消息吗?干杯
public static int GetSearchCount()
{
    return _RowCount;//set elsewhere in code - this is the total number of rows for the query
}

public static DataTable GetSearchResults(string sortBy, int pageSize, int startIndex)
{
     //Code to dynamically generate SQL statements based on supplied parameters
     //then return a datatable containing only the data to be shown in the gridview
}