2017-05-15 75 views
0

我想在彈出窗口中點擊鏈接時打開kendo網格。 Kendo網格完全打開彈出窗口,但過濾和排序功能不起作用。我正在使用服務器端操作。當我在DatasourceRequest中對控制器端的特定列進行排序時,我始終將值作爲空值。Kendo網格過濾和排序功能在網格彈出時不起作用

任何幫助,高度讚賞..

<div class="panel-body" id="countryImageData"> 
        @(Html.Kendo().Grid(Model.GlobalInventoryImages) 
       .Name("InventoryCountryImageDetailsGrid") 
       .Columns(columns => 
       { 
        columns.Bound(p => p.SmartInventoryID).Hidden().Title("SPC#").HtmlAttributes(new { @id = "CountrySmartInventory_Grid" }); 
        columns.Bound(p => p.SubwayProductCode).Width(50).Title("SPC#").HtmlAttributes(new { @id = "CountrySubwayProductCode_Grid" }); 
        columns.Bound(p => p.GlobalCaseImageName).Width(100).Title("Case Images").HtmlAttributes(new { @id = "GlobalCaseGraphicName_Grid" }).ClientTemplate(" <a href=\"javascript:void(0);\" class=\"btn-openpdf\" onClick = \"getGlobalImage(this,false,true,true);\">#=GlobalCaseImageName#</a> "); 
        columns.Bound(p => p.GlobalInnerImageName).Width(100).Title("Inner Images ").HtmlAttributes(new { @id = "GlobalInnerImageName_Grid" }).ClientTemplate(" <a href=\"javascript:void(0);\" class=\"btn-openpdf\" onClick = \"getGlobalImage(this,false,false,true);\">#=GlobalInnerImageName#</a> "); 
        columns.Bound(p => p.CountryNames).Width(100).Title("Country").HtmlAttributes(new { @id = "CountryNames_Grid" }); 
       }) 
             .Pageable(pager => pager.PageSizes(new int[] { 25, 50, 75, 100 }).Input(true)) 
             .Sortable(e => e.AllowUnsort(true).SortMode(GridSortMode.MultipleColumn)) 
             .Scrollable() 
             .ColumnMenu() 
             .NoRecords("No Records") 
             .Selectable(e => e.Mode(GridSelectionMode.Multiple)) 
             .Filterable() 
             .ColumnResizeHandleWidth(10) 
             .ColumnResizeHandleWidth(10) 
             .Resizable(resize => resize.Columns(true)) 
             .Reorderable(reorder => reorder.Columns(true)) 
             .HtmlAttributes(new { @class = "custom-kendo-grid custom-kendo-grid-inv" }) 
             .DataSource(dataSource => dataSource 
             .Ajax() 
             .ServerOperation(true) 
             .PageSize(25) 
                  .Read(read => read.Action("InventoryImage_Read", "Inventory").Data("function onCountryAdditonalData(){ return {subwayProductCode: $('#SubwayProductCode').val()};}")) 
             ) 

        ) 

       </div> 
+0

也許你可以顯示一些代碼? –

+0

@RaniRadcliff代碼added.please見上面 – Dnyaneshwar123456

回答

0

在MVC中必須添加在您的數據源如下:

type: 'aspnetmvc-ajax' 

的篩選和排序不能爲空。此外,在你的MVC控制器動作方法必須建立像這樣的參數:

public async Task<ActionResult> InventoryImage_Read([DataSourceRequest] DataSourceRequest) 

你不發表您的MVC控制器動作,所以我不知道你是否有這樣的一部分設置正確。我希望這有幫助。

+0

在彈出窗口中,我無法在Kendo過濾器框中輸入任何內容 – Dnyaneshwar123456