j.Kendo.GridFilter
Wed Sep 22 2021 13:29:38 GMT+0000 (Coordinated Universal Time)
Saved by
@rick_m
#javascript
#c#
#telerik
#kendo
#mvc
function grid_product_filter(element) {
build_gridfilter(element, '/Products/GridFilterRead');
}
function build_gridfilter(element, url) {
var combobox = element.kendoComboBox({
placeholder: "Select",
autoBind: true,
filter: "contains",
dataTextField: "Name",
dataValueField: "Name",
dataSource: {
type: "aspnetmvc-ajax",
sort: { field: "Name", dir: "asc" },
transport: {
read: {
url: url,
}
},
schema: {
data: "Data",
total: "Total"
},
pageSize: 200,
serverPaging: true,
serverFiltering: true,
serverSorting: true
}
});
setdropdownwidth(combobox);
}
var standardfilterwidth = 300;
function setdropdownwidth(combobox) {
if (combobox.data("kendoComboBox"))
combobox.data("kendoComboBox").list.width(standardfilterwidth);
else if (combobox.data("kendoExtendedComboBox"))
combobox.data("kendoExtendedComboBox").list.width(standardfilterwidth);
}
content_copyCOPY
c.Bound(x => x.Name).Title("Name").Width(250).Filterable(filterable => filterable.UI("grid_product_filter"));
public JsonResult GridFilterRead([DataSourceRequest]DataSourceRequest request)
{
using (UnitOfWork worker = new UnitOfWork())
{
var repository = worker.ProductRepository;
var queryable = repository.GetQueryable().Select(s => new { s.Name }).Distinct();
var results = queryable.ToDataSourceResult(request);
return results == null
? null
: this.Json(results, JsonRequestBehavior.AllowGet);
}
}
Comments