2016-04-01 12 views
0

können Sie mir helfen, mein Problem zu beheben, machte ich Gridview, und ich benutze Combobox, um Daten in Gridview zu filtern und Gridview percycallback nach Filter, aber Gridview nicht Callback nach Filter. wie kann ich ? Hilf mir bitte? diese ist ein Code: Controller gridview Filter:percycallback gridview nach combobox filterung

 [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); 
     } 

und das ist Code Wertfilter Combobox zu erhalten:

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); 
      } 
     }); 
    } 

und das ist Code anzuzeigen 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(); 

Ich hoffe ihr könnt mir helfen.

Antwort

1

Ihre JavaScript-Funktion wie folgt ändern:

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

Ihre Gittereinstellungen wie folgt ändern:

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

Sie Antwort danken, aber ich habe mein Problem behoben. – Takishima