2017-05-15 10 views
0

リンクのクリック時にポップアップで剣道グリッドを開こうとしています。ポップアップで完全に開きますが、フィルタリングと並べ替えの機能は動作しません。私はサーバー側の操作を使用しています。特定の列を並べ替えるときDatasourceRequestのコントローラ側では、常にnullとして値を取得します。 MVCでグリッドがPopUpにあるときに剣道グリッドのフィルタリングとソート機能が動作しない

すべてのヘルプは高く評価された。..

<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コードが追加されました。上記を参照 – Dnyaneshwar123456

答えて

0

あなたのdataSourceに次のように追加する必要があります。フィルタの

type: 'aspnetmvc-ajax' 

をソートnullにすることはありません。また、あなたのMVCコントローラでの操作方法はとてもように設定パラメータを持っている必要があります:あなたはその部分が正しく設定されていた場合

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

あなたのMVCコントローラのアクションを投稿していなかったので、私は確認されませんでした。私はこれが役立つことを願っています

+0

ポップアップで、剣道フィルターボックスに何も入力できません – Dnyaneshwar123456

関連する問題