2016-04-01 1 views
0

グリッドビューを作成し、グリッドビューでデータをフィルタリングし、フィルタの後にgridview performcallbackを取得しましたが、フィルタの後にコールバックではないgridviewを使用しました。どのようにできるのか ?お願い助けて? これはいくつかのコードである: コントローラGridViewのフィルタ:コンボボックスフィルタリング後にperformcallback gridview

 [HttpPost] 
     public ActionResult FilterTypePro(String typePro) 
     { 
      //Session["typePro"] = typePro; 
      var model = Model._ProposalObject.ListDataProposal(); 

      if (typePro != null && typePro != string.Empty) 
      { 
       model = Model._ProposalObject.ListDataProposal(typePro); 
      } 

      return PartialView("_gvPartialViewProposals", model); 
     } 

、これは値フィルタコンボボックスを取得するためのコードである:

function OnClickFilter(type) { 
     type = cbTypeProposal.GetValue();  
     $.ajax({ 
      type: "POST", 
      cache: false, 
      async: false, 
      url: '@Url.Action("FilterTypePro", "App")', 
      data: { 'typePro': type }, 
      success: function (data) { 
       /*gvPartialViewProposals.AdjustControl(); 
       try { 
        gvPartialViewProposals.PerformCallback(); 
       } 
       catch(er){ 
       }*/ 
       gvPartialViewProposals.Refresh(data); 
      } 
     }); 
    } 

これはCSHTML表示するためのコードである:

groupItem.Items.Add(item => 
      { 
        item.Caption = "Type Of Proposal"; 
        item.Width = 400; 
        item.SetNestedContent(() => 
        { 
         ViewContext.Writer.Write("<table><tr><td>"); 
         Html.DevExpress().ComboBox(cmbSettings => 
         { 
          cmbSettings.Name = "cbTypeProposal"; 
          cmbSettings.Width = 100; 
          cmbSettings.Properties.DropDownStyle = DropDownStyle.DropDownList; 
          cmbSettings.ShowModelErrors = true; 
          cmbSettings.Properties.Items.Add("ATL", "ATL"); 
          cmbSettings.Properties.Items.Add("BTL", "BTL"); 
          cmbSettings.Properties.ClientSideEvents.SelectedIndexChanged = "function(s, e) { OnClickFilter();}"; 
         }).Render(); 
         ViewContext.Writer.Write("</td></tr></table>"); 
        }); 
       }); ; 
     }).GetHtml(); 

あなたが私を助けることを願っています。次のように

答えて

1

は、JavaScriptの機能を変更します。次のように

function OnClickFilter(type){ 
    type = cbTypeProposal.GetValue(); 
    gvPartialViewProposals.PerformCallback({ 
     'typePro': type 
    }); 
} 

は、あなたのグリッド設定を変更します。

settings.Name = "gvPartialViewProposals"; 
settings.CustomActionRouteValues = new { Controller = "App", Action = "FilerTypePro" }; 
+0

は答えについてあなたに感謝し、私は私の問題を修正しました。 – Takishima

関連する問題