2012-01-05 84 views
0

我在這裏查看來自不同問題的答案,但不能得到的東西,我可以使用,我是新來的RadGrid的東西一直使用GridView,但現在,他們改變他們都RadGrids和其中一人需要有尋呼習俗,有一個例子here,我試圖使用它,但我不知道怎麼做,如果我的數據源是一個數據集見下文自定義分頁與Radgrid不工作

   AdminManager adminMan = new AdminManager(); 
       DataSet ds = adminMan.GetProducts(); 

       int startRowIndex = (ShouldApplySortFilterOrGroup()) ? 
        0 : Grid.CurrentPageIndex * Grid.PageSize; 


       int maximumRows = (ShouldApplySortFilterOrGroup()) ? 
    **HERE NOT SURE HOW TO TRANSLATE THIS SO THAT I CAN USE IT 
        MyBusinessObjectCollection1.SelectCount() : RadGrid1.PageSize;** 

       Grid.AllowCustomPaging = !ShouldApplySortFilterOrGroup(); 

     **HERE NOT SURE HOW TO TRANSLATE THIS SO THAT I CAN USE IT 
       RadGrid1.DataSource = MyBusinessObjectCollection1.Select(startRowIndex, maximumRows);** 

正如你可以看到我不確定如何在使用數據集時對示例代碼進行trinelate。看到我注意到的部分「這裏不知道如何翻譯....」任何幫助,將不勝感激。

問候

回答

0

我有點困惑的問題,所以我要包括我的什麼工作,例如,也許這將幫助你在你的努力。首先,我設置這些對電網:

<!-- Set pageSize to whatever you want --> 
<tel:RadGrid .. AllowPaging="true" AllowCustomPaging="true" PageSize="10" /> 

在代碼中,當時間綁定,我這樣做:

//need to pass the total number of records there are; this is used to build 
//the paging list 
this.RadGrid1.VirtualItemCount = totalNumberOfRows; 

//Bind the filtered resultset that has only 10 or whatever the page size amount of records are 
this.RadGrid1.DataSource = x; 
this.RadGrid1.DataBind(); 

從本質上講,你綁定的過濾結果,而是設置虛擬物品計數到記錄總數。 RadGrid也應該支持綁定到DataSet,所以這不應該是一個問題。

+0

在該事件中,我應該這樣做,現在在NeedDataSource因爲我得到一個錯誤,它說,它會自動進行綁定..我有幾個地方正在發生的結合..我RadGrid1.Rebind(); – user710502 2012-01-05 19:50:19

+0

@ user710502您可以在NeedDataSource中執行此操作,只需在此事件處理程序中省略RadGrid1.DataBind()或RadGrid1.Rebind()即可。 – 2012-01-05 20:07:49

+0

是的,我不知道怎麼回事..當我點擊傳呼機上的數字它的工作原理,但如果我點擊傳呼箭頭..它會引發錯誤無效回傳或回調參數。使用配置中的或頁面中的<%@ Page EnableEventValidation =「true」%>啓用事件驗證。爲了安全起見,此功能驗證回發或回調事件的參數來自最初呈現它們的服務器控件。 – user710502 2012-01-05 21:28:17

0

這對我有效。

http://www.telerik.com/community/forums/aspnet-ajax/grid/pager-arrows-problem-when-databinding-in-page-load.aspx

$('.rgPageFirst').live('click', function() { 
    __doPostBack(this.name, ''); 
    return false; 
}); 

$('.rgPageNext').live('click', function() { 
    __doPostBack(this.name, ''); 
    return false; 
}); 

$('.rgPagePrev').live('click', function() { 
    __doPostBack(this.name, ''); 
    return false; 
}); 

$('.rgPageLast').live('click', function() { 
    __doPostBack(this.name, ''); 
    return false; 
}); 

$('.rgCollapse').live('click', function() { 
    __doPostBack(this.name, ''); 
    return false; 
}); 

$('.rgExpand').live('click', function() { 
    __doPostBack(this.name, ''); 
    return false; 
}); 

$('.rgExrgNumPart').live('click', function() { 
    __doPostBack(this.name, ''); 
    return false; 
});