2015-09-02 5 views
1

J'ai un Flexgrid sur une page. Je veux faire un filtrage personnalisé. J'ai créé un filtre ActonResult. J'ai créé le jeu de données filtré. Comment renvoyer les données à la page? Si je renvoie une vue, je ne reçois aucune donnée mise à jour. Y at-il un moyen de renvoyer les données à la page dans Json et mettre à jour via javascript?ComponentOne MVC Flexgrid Databinding

Répondre

1

Je vous suggère d'utiliser jQuery.ajax. Vous pouvez appeler l'action via l'attribut url, récupérer les données filtrées dans le rappel 'success' et définir les données renvoyées en tant que source d'éléments de FlexGrid.

Plus d'info here et here

0

Je pense que vous pouvez utiliser le ReadActionUrl pour la mettre en œuvre.

Dans Controller, vous pouvez écrire l'action de filtrage similaire ci-dessous.

public ActionResult Filter([C1JsonRequest] CollectionViewRequest<Category> requestData) 
     { 
      return this.C1Json(CollectionViewHelper.Read(requestData, **db.Categories.ToList().Skip(3)**)); 
     } 

Et dans Viewer, vous devez utiliser la propriété ReadActionUrl

@(Html.C1().FlexGrid<Category>().Bind(Url.Action("Filter"))) //Use Bind method to set the ReadActionUrl property.