2015-08-11 2 views
0

У меня есть таблица с большим количеством записей, привязанная к Gridview. В настоящее время он связывает все данные при загрузке страницы. Я использую следующий LINQ к SQL:linq to sql gridview стороне пейджингового сервера

gvView.datasource = from c in _db.tblCategories 
         where c.bIsDeleted == false 
         select c; 
gvView.databind(); 

Я хочу, чтобы преобразовать это с подкачкой, так что он не показывает все данные сразу.

ответ

1

Вам необходимо использовать skip и принять linq методов. Пожалуйста, перейдите по этой ссылке, например http://msdn.microsoft.com/en-us/library/bb386988.aspx

Вот пример, но пройти по ссылке для лучшего понимания

var custQuery2 = 
    (from cust in db.Customers 
    orderby cust.ContactName 
    select cust) 
    .Skip((currentpagenumber-1)*pagesize).Take(pagesize); 

Для использования выше код, который вы должны изменить свой подход. Вам необходимо определить текущий номер страницы и размер, основанный на выборе пользователя, выполнить этот код и переустановить его в gridview.

0

.cs код

gvView.datasource = (from c in _db.tblCategories 
         where c.bIsDeleted == false 
         select c).ToList(); 
gvView.databind(); 

.aspx Код для GridView:

<asp:GridView ID="gvView" runat="server" AutoGenerateColumns="false" AllowPaging="true" 
    OnPageIndexChanging="OnPageIndexChanging" PageSize="10"> 
    <Columns> 
     <asp:BoundField ItemStyle-Width="150px" DataField="myField1" HeaderText="myField1" /> 
    </Columns> 
</asp:GridView> 

См This для GridView PAGINATION.