Hi,
i am using ASP.NET Core with a KENDO Grid which calls a Razor Page handler.
For performance reasons, the Grid is pageable, filterable and sortable.
Now we want the DataSourceRequest on the server to directly filter the MongoDB query. I am using "AsQueryable()" on the IMongoCollection, which i thought works nicely with the KENDO DataSourceResult method.
But the speed of the MongoDB query is always slow. It does not matter if i filter the grid for just one result or if i display all results (paged).
Is this the correct way to use KENDO Grid with MongoDB "database-filtering"?
I am using the following code:
Client
@(Html.Kendo().Grid<PolicyAudit>().Name("PolicyGrid") .Pageable() .Navigatable() .Sortable() .Filterable() .Columns(columBuilder => { columBuilder.Bound(x => x.Orga); columBuilder.Bound(x => x.Operation); columBuilder.Bound(x => x.Ressource); columBuilder.Bound(x => x.TimeStamp); columBuilder.Bound(x => x.UserEmail); columBuilder.Bound(x => x.AccessResult); }) .DataSource(source => source.Ajax() .Read("PolicyOverview", "Policy", new { handler = "ReadPolicyAudits" })))
Server
public async Task<IActionResult> OnPostReadPolicyAudits([DataSourceRequest]DataSourceRequest request) { var access = new PolicyDataAccess(); var col = access.GetCollection<PolicyAudit>("MetaPolicyCollection"); var data = await col.AsQueryable().ToDataSourceResultAsync(request); return new JsonResult(data); }Hello,
I use a template column to have a Kendo style Checkbox in my grid but this is not bind to the underlying boolean value...
with a "normal" Checkbox this is possible with JavaScript but the tsyled Checkbox uses a Label for Styling... (see Picture)
how to do this with the styled checkboxes?

Hello,
Can someone please help.
I'm trying to do a simple Inline edit grid which has a datetime field but when clicking update the datetime field which is passed through to the controller has null. It's actually replicated in the example which Progress supply.
How do I get a valid date through to the controller? surely this is quite a big issue? is it a locale problem?
.chtml
}
<div class="row">
<div class="col-xs-18 col-md-12">
@(Html.Kendo().Grid<Sample.Models.OrderViewModel>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.Freight);
columns.Bound(p => p.OrderDate);
columns.Bound(p => p.ShipName);
columns.Bound(p => p.ShipCity);
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(160);
})
.Pageable()
.Sortable()
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Scrollable()
.Filterable()
.HtmlAttributes(new { style = "height:550px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Batch(true)
.Model(model => model.Id(p => p.OrderID))
.Read(read => read.Action("Orders_Read", "Grid"))
.Update(update => update.Action("Orders_Update", "Grid"))
)
)
</div>
</div>
GridController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Kendo.Mvc.UI;
using Sample.Models;
using Kendo.Mvc.Extensions;
namespace Sample.Controllers
{
public class GridController : Controller
{
public ActionResult Orders_Read([DataSourceRequest]DataSourceRequest request)
{
var result = Enumerable.Range(1, 50).Select(i => new OrderViewModel
{
OrderID = i,
Freight = i * 10,
OrderDate = new DateTime(2016, 9, 15).AddDays(i % 7),
ShipName = "ShipName " + i,
ShipCity = "ShipCity " + i
});
var dsResult = result.ToDataSourceResult(request);
return Json(dsResult);
}
[AcceptVerbs("Post")]
public ActionResult Orders_Update([DataSourceRequest]DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<OrderViewModel> products)
{
//products.OrderDate is null even though I've selected a date on the edit datepicker.
return Json(products.ToDataSourceResult(request));
}
}
}
@(Html.Kendo().Upload() .Name("File") .Async(a => a .AutoUpload(true)) .Files( files => { if (Model.File != null) { files.Add().Name(Model.FileName).Extension(Model.FileExtension).Size((long)Model.FileSize); } } ) .Events(e => e.Select("onSelect")) .Multiple(false) )
I saw that there was a demo for initial files in mvc but that disappeared in the asp.net core demos.
Thanks
In the demo : https://demos.telerik.com/aspnet-core/grid/editing-popup.
there is code shown as follows in the ProductService.cs:
public class ProductService : BaseService, IProductService
Where is the code for BaseService and IProduct Service?
Also, more generally, where can I download the sources to all the demos for .net core?
Thanks … Ed

I would like to use the tag helper, but I cannot set the initial files like
<files>@Html.Raw(Model.InitialFiles)</files>
I am only able to set them as static HTML list, i.e.
<files><file name="dummy" size="1024" extension=".ext"/></files>
(https://docs.telerik.com/aspnet-core/tag-helpers/editors/upload/overview)
Is it possible to use the tag helper when the file list would be obtained from a model? And how?

public class EncountersModel : PageModel { public EncountersModel(IDataAccess dataAccess) { this.dataAccess = dataAccess; } public IEnumerable<Encounter> Encounters { get; set; } private readonly IDataAccess dataAccess; public void OnGet() { Encounters = dataAccess.GetOpenEncounters(); } }
@page@model SafeUSWeb.Pages.EncountersModel@{ ViewData["Title"] = "Encounters";}<h2>Encounters</h2>@(Html.Kendo().Grid(Model.Encounters) .Name("grid") .Columns(columns => { columns.Bound(c => c.EncounterId).Width(140); columns.Bound(c => c.EncounterType).Width(190); columns.Bound(c => c.Status); columns.Bound(c => c.Organization.OrgName).Width(110); }) .HtmlAttributes(new { style = "height: 380px;" }) )
When I run this I get an error that says - Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR

I"m trying to filter a grid that is bound to many fields including a few that are DateTime. My filter works great until I try to do one on a datetime type field then it errors out. What operator can I use on a datetime? Here's the error and the settings for the filter.
Message"The binary operator GreaterThanOrEqual is not defined for the types 'System.DateTime' and 'System.String'."string
$("#Grid").data("kendoGrid").dataSource.filter({
logic: "or",
filters: [
{
field: "DateEntered",
operator: "gte",
value: searchValue
},
{
field: "DateEntered",
operator: "lte",
value: searchValue
},
Thanks!
Craig

Hi,
Is Kendo UI works with asp .Net core 2.0 ?
If yes, can anyone have any demo on this. As, I am trying to use Kendo UI for my asp .net core 2.0 project and I am getting some issue there.