2012-02-02 77 views
4

我可以自定義Grid的尋呼機的外觀嗎?我想從列表中選擇一個頁面大小(如Redmine,請參閱'每頁'塊),而不是從下拉列表中選擇。Telerik MVC Grid中的自定義尋呼機

這是非標準Telerik的尋呼機:

Standart Telerik's pager

這是管理平臺的尋呼機:

Redmine pager

感謝。

PS例如DevExpress的網格有這個ability

+0

ahhh ...我希望telerik開發人員在添加新功能時要快一點。 DevExpress現在非常棒(特別是在網格相關技術中)。也許我最終在我的新項目中移植到DevExpress。 – 2012-02-02 16:33:20

+1

你見過在線自定義分頁的例子,它可能有助於http://demos.telerik.com/aspnet-mvc/grid/custombinding – Tassadaque 2012-02-04 22:50:03

+0

Tassadaque,是的 - 我已經看到它並使用它:)不幸的是,自定義綁定並沒有關聯自定義尋呼機:( – vladimir77 2012-02-06 17:02:41

回答

1

你可以替換的DOM元素,是負責的頁面大小。您需要在網格加載時執行此操作。

查看

@Html.Telerik().Grid(Model) 
    .Name("Grid") 
    .ClientEvents(events => events.OnLoad("Grid_onLoad")) 

的JavaScript

function Grid_onLoad(e) 
{ 
    var html = { place your favorite template engine here } 
    $('#YourGridId').find('.t-page-size').html(html); 
    // bind 'click' event to your new control 
} 

現在的問題是,你需要自己的事件綁定到頁面大小的變化,並告訴新頁面大小Telerik的格。

您可以向爲控制器提供數據的控制器操作提供附加參數。文檔中有一個example如何向請求添加其他數據。

<script type="text/javascript"> 
function Grid_onDataBinding(e) { 

    // pass additional values by setting the "data" field of the event argument 
    e.data = { 
     pageSize: // TODO: provide selected page size from your new control 
    }; 
} 
</script> 

在服務器端控制器動作應該自動映射您pageSize到操作參數。

我希望這可以幫助,讓我知道如果你需要更多的信息。