2013-10-07 82 views
0

在我的劍道UI格,我的頁面大小屬性設置三 - 每頁(3):在ASP.NET MVC劍道UI電網分頁問題

@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.Discount>() 
    .Name("discountgrid") 
    .Columns(c=> 
    { 
     c.Bound(d => d.Id); 
     c.Bound(d => d.Category); 
     c.Bound(d => d.Percentage); 
     c.Bound(d => d.Merchandise); 
     c.Command(cm => { cm.Edit(); cm.Destroy(); }); 
    }) 
    .Pageable() 
    .ToolBar(toolbar => toolbar.Create()) 
    .Editable(editable => editable.Mode(GridEditMode.InCell)) 
    .DataSource(dataSource => dataSource 
     .Ajax() 
     .PageSize(3) 
     .ServerOperation(false) 
     .Model(model => model.Id(d => d.Id)) 
     .Create(update => update.Action("EditingInline_Create", "Grid")) 
     .Update(update => update.Action("EditingInline_Update", "Grid")) 
     .Destroy(update => update.Action("EditingInline_Destroy", "Grid")) 
    ) 
) 

加入前三排後,當我插入第四條記錄,第一條記錄消失(如預期的那樣) - 但我沒有看到選項轉到網格頁腳的第二頁(第2頁)。

這是爲什麼?我錯過了什麼?

+0

代碼似乎確定。您檢索了多少條記錄?你檢查了[演示](http://demos.kendoui.c​​om/web/grid/index.html)嗎? – Nilesh

+0

@Nilesh我不知道有多少記錄會回來 - 我確實檢查過這些演示,但是我無法讓它工作。 –

+1

你看到底部的頁面導航欄嗎?你嘗試重新加載網格嗎?嘗試明確地做!我認爲你可以添加一個刷新選項。你還需要指定'Read(read => read.Action(「ActionName」))'。 – Nilesh

回答

2

您必須在DataSource上指定Read操作並添加RequestEnd事件。您可以將您的DataSource讀取方法放入此事件中。然後可以使用RequestEnd事件上的事件類型參數(如「update」,「create」,「destroy」)來確定哪個操作完成並重新加載網格上的數據。

@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.Discount>() 
.Name("discountgrid") 
.Columns(c=> 
{ 
    c.Bound(d => d.Id); 
    c.Bound(d => d.Category); 
    c.Bound(d => d.Percentage); 
    c.Bound(d => d.Merchandise); 
    c.Command(cm => { cm.Edit(); cm.Destroy(); }); 
}) 
.Pageable() 
.ToolBar(toolbar => toolbar.Create()) 
.Editable(editable => editable.Mode(GridEditMode.InCell)) 
.DataSource(dataSource => dataSource 
    .Ajax() 
    .PageSize(3) 
    .ServerOperation(false) 
    .Events(e => { e.RequestEnd("onRequestEnd"); })//onRequestEnd is the javascript fxn 
    .Model(model => model.Id(d => d.Id)) 
    .Read(read => read.Action("EditingInline_Read","Grid")) 
    .Create(update => update.Action("EditingInline_Create", "Grid")) 
    .Update(update => update.Action("EditingInline_Update", "Grid")) 
    .Destroy(update => update.Action("EditingInline_Destroy", "Grid")) 
)) 


<script type="text/javascript"> 

function onRequestEnd(e) { 
    if (e.type === "create" || e.type === "update" || e.type === "destroy") { 
     e.sender.read(); 
    } 
} 

</script> 

如果您需要了解更多信息,請仔細閱讀本link

3

我想你錯過了將READ操作提供給網格。

1

嘗試添加Read()行動,你的網格,用於測試目的,可能設置ServerOperation(true)