Getting Filters Used in the KendoUI Grid

In KendoUI, I have a grid with filters. I'm more interested in knowing all the filters used by the user to save the goal, so that the next time the user comes, they can be automatically filled. How to get all used filters?

+4
source share
3 answers

You don’t know what your code looks like, but you have to get the Grid data source object and call the method filter () to get the data filters currently used. Take a look at the example below taken from here :

<script>
var dataSource = new kendo.data.DataSource({
  data: [
    { name: "Jane Doe" },
    { name: "John Doe" }
  ],
  filter: { field: "name", operator: "startswith", value: "Jane" }
});
var filter = dataSource.filter();
console.log(filter.logic);  // displays "and"
console.log(filter.filters[0]); // displays '{field: "name", operator: "startswith", value: "Jane"}'
</script>
+12
source

- MVC , . , :

public ActionResult Documents_Read([DataSourceRequest] DataSourceRequest request, 
        int documentType = (int)ApiGlobals.TrxTypes.חשבונית)

, , : Session, , . , :

    public ActionResult Documents_Read([DataSourceRequest] DataSourceRequest request, 
        int documentType = (int)ApiGlobals.TrxTypes.חשבונית)
    {
       Session["DocumentListFilter"] = request;
       ...
    }

    public ActionResult PrintListKendo(int documentType)
    {           
        DataSourceRequest request  = (DataSourceRequest)Session["DocumentListFilter"];

        if (request == null)
        {
            request = new DataSourceRequest();
        }

        request.Page = 1;
        request.PageSize = int.MaxValue;

        IQueryable<Document> data = _db.GetDocuments()
           .Where(d => d.TrxTypeId == (int)documentType);

        DataSourceResult filteredData = data.ToDataSourceResult<Document, DocumentListSingleDocumentViewModel>(request,
            d => ViewModelFactory.Create(d));

        //... call the reporting package with the data, etc.
      }

(= ) , , ,

+1

- , , ...

var myGrid = $("#gridname").data("kendoGrid");
myGrid.dataSource.filter().filters[0];

...

myGrid.dataSource.filter().filters[0].field
myGrid.dataSource.filter().filters[0].operator
myGrid.dataSource.filter().filters[0].value

, -

+1

All Articles