Please refer to the screen cast link below. During inline editing when the time column is clicked to begin editing the existing time is cleared. Also after the time and then entering the am pm designator the time is cleared and the editor closes. Entering a time is actually only possible when the DateTime model property is marked as nullable otherwise a validation error is thrown. (All in the video)
Grid:
@(Html.Kendo().Grid<Aero.Models.Leg>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.FlightID);
columns.Bound(p => p.Origin);
columns.Bound(p => p.Destination);
columns.Bound(p => p.Start);
columns.Bound(p => p.TakeOff);
columns.Bound(p => p.Landing);
columns.Bound(p => p.Stop);
})
.ToolBar(toolBar =>
{
toolBar.Save();
toolBar.Create();
})
.Editable(editable => editable.Mode(GridEditMode.InCell))
.Scrollable()
.Resizable(resize => resize.Columns(true))
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
.Ajax()
.Batch(true)
.PageSize(20)
.ServerOperation(false)
.Model(model =>
{
model.Id(p => p.LegID);
model.Field(p => p.LegID).Editable(false);
})
.Read(read => read.Action("Legs_Read", "Test", new { id = Model.FlightID }))
.Update(update => update.Action("Legs_Update", "Test"))
//.Create(create => create.Action("ForeignKeyColumn_Create", "Grid"))
//.Destroy(destroy => destroy.Action("ForeignKeyColumn_Destroy", "Grid"))
).Deferred()
)
Model:
public class Leg
{
public int LegID { get; set; }
[DataType(DataType.Time)]
public DateTime? Start { get; set; }
[DataType(DataType.Time)]
public DateTime? Stop { get; set; }
[DataType(DataType.Time)]
public DateTime TakeOff { get; set; }
[DataType(DataType.Time)]
public DateTime Landing { get; set; }
public string Origin { get; set; }
public string Destination { get; set; }
public string Notes { get; set; }
[Display(Name = "Flight")]
public int? FlightID { get; set; }
public virtual Flight Flight { get; set; }
}
https://screencast-o-matic.com/watch/cbiQc1lbrz
DropDownList The binding indicates that the data is delayed
The first step shows the value
Second step display text

How can I add the sum of a column to the pageing footer like in this example:
https://s3.amazonaws.com/telerik-media/telerik-videos/controls/grid-bootstrap-fallback.jpg
I would like to replace the text in the picture "56 cars matching your criteria" with "Total Price: $x.xx"

Im using 3 tier.
1 presenter
2 service (webapi & service business logic layer)
3 data access
this is my presenter code
@(Html.Kendo().Grid<ParkingRevenueViewModel>() .Name("grid") .Columns(columns => { columns.Bound(p => p.ParkDate).Width(20).Title("Date").Format("{0:dd/MM/yyyy}").Filterable(true); columns.Bound(p => p.VehRegNbr).Width(100).Title("Vehicle No"); columns.Bound(p => p.RoadName).Width(150).Title("Road").Filterable(false); columns.Bound(p => p.LotNo).Width(50).Title("Lot No"); columns.Bound(p => p.StartTime).Width(100).Title("Parking Time").Format("{0:dd/MM/yyyy h:mm:ss tt}").Filterable(false); columns.Bound(p => p.Value).Width(50).Title("Value").Filterable(false); }) .Filterable() .Pageable() .DataSource(dataSource => dataSource .WebApi() .Aggregates(aggregates => { aggregates.Add(p => p.Value).Sum(); }) .Events(events => events.Error("error_handler")) .Read(read => read.Url("http://novawebapi.azurewebsites.net/api/reports/ParkingRevenueByMonth")) ).Deferred() )
this is my webapi code
[HttpGet("ParkingRevenueByMonth")] public DataSourceResult ParkingRevenueByMonth([DataSourceRequest]DataSourceRequest request, int? Month = 0) { var model = reportsService.GetParkingRevenueByMonth(request, Month); return model; }
service layer
public DataSourceResult GetParkingRevenueByMonth(DataSourceRequest request, int? Month=0) { var now = DateTime.Now.ConvertToMalaysiaTime(); if (Month == null || Month == 0) { Month = now.Month; } var firstOfMonth = new DateTime(now.Year, (int)Month, 1); var endOfMonth = firstOfMonth.AddMonths(1).AddMilliseconds(-1); var list = unitOfWork.GetRepository<ParkTable>().GetAll().Where(w=> firstOfMonth.Date <= w.TimeStart.Date && w.TimeStart.Date <= endOfMonth.Date); var returnModel = list.Select(s => new ParkingRevenueViewModel { ParkDate = s.TimeStart.Date, VehRegNbr = s.VehRegNbr, LotNo = s.GeoRoadParkLot.GeoParkLot.LotNo, RoadName = s.GeoRoadParkLot.GeoRoad.Description, StartTime = s.TimeStart, Value = s.Amount }); return returnModel.ToDataSourceResult(request); }
the error thrown
at Kendo.Mvc.Infrastructure.Implementation.Expressions.GroupDescriptorExpressionBuilder.CreateProjectionNewExpression(IEnumerable`1 propertyValuesExpressions)at Kendo.Mvc.Infrastructure.Implementation.Expressions.GroupDescriptorExpressionBuilder.CreateProjectionInitExpression()at Kendo.Mvc.Infrastructure.Implementation.Expressions.GroupDescriptorExpressionBuilder.CreateAggregateFunctionsProjectionMemberBinding()at Kendo.Mvc.Infrastructure.Implementation.Expressions.QueryableAggregatesExpressionBuilder.<CreateMemberBindings>d__3.MoveNext()at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable`1 source, Int32& length)at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable`1 source)at System.Dynamic.Utils.CollectionExtensions.ToReadOnly[T](IEnumerable`1 enumerable)at System.Linq.Expressions.Expression.MemberInit(NewExpression newExpression, IEnumerable`1 bindings)at Kendo.Mvc.Infrastructure.Implementation.Expressions.GroupDescriptorExpressionBuilder.CreateSelectExpression()at Kendo.Mvc.Infrastructure.Implementation.Expressions.GroupDescriptorExpressionBuilderBase.CreateQuery()at Kendo.Mvc.Extensions.QueryableExtensions.Aggregate(IQueryable source, IEnumerable`1 aggregateFunctions)at Kendo.Mvc.Extensions.QueryableExtensions.CreateDataSourceResult[TModel,TResult](IQueryable queryable, DataSourceRequest request, ModelStateDictionary modelState, Func`2 selector)at Kendo.Mvc.Extensions.QueryableExtensions.ToDataSourceResult(IEnumerable enumerable, DataSourceRequest request)at NI.Service.ReportsServices.GetParkingRevenueByMonth(DataSourceRequest request, Nullable`1 Month) in d:\documents\visual studio 2017\Projects\Nova\NI.Service\ReportsServices.cs:line 53at NI.WebApi.Controllers.ReportsController.ParkingRevenueByMonth(DataSourceRequest request, Nullable`1 Month) in d:\documents\visual studio 2017\Projects\Nova\TestApi2\Controllers\ReportsController.cs:line 32at lambda_method(Closure , Object , Object[] )at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeActionMethodAsync>d__27.MoveNext()
Hi referring to the attached, What should I write to capture the old record &latest record ?
1. On Button clicked on "Saved Changes" [Show in [1]]
2. On Clicked on "Button" [Shown in [2]]
I have tried but i am still getting the old records but no avail .... perhaps some enlightenment will be great..

When I try to add event to a multiselect I get this error
cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type
I have tried these to method to add event
@(Html.Kendo().MultiSelectFor(m => m.OmviserNavne)
.Placeholder("Vælg omviser...")
.BindTo(ViewBag.Omviser)
.Events(e =>
{
e.Change("onOmviserChange")
})
.Deferred())
@(Html.Kendo().MultiSelectFor(m => m.OmviserNavne)
.Placeholder("Vælg omviser...")
.BindTo(ViewBag.Omviser)
.Events(events => events.Change("onOmviserChange"))
.Deferred())

Hello,
I'm trying to get a grid with a select option just like this example http://demos.telerik.com/aspnet-core/grid/checkbox-selection
My grid loads with all the proper data however the columns.Select().Width(50); does not load any check boxes like the example does.
Here is the code that I am using. I will also attach a screen shot of what this produces.
@(
Html.Kendo()
.Grid<PlanReviewItemViewModel>()
.Name("linkFolderAttachmentPlanReviewItems")
.Columns(col =>
{
col.Select().Width(50);
col.Bound(p => p.MunicipalNumber);
})
.Sortable()
.DataSource(ds =>
{
ds.Ajax()
.Read(read =>
{
read.Action("GetPlanReviewItems", "PlanReviewItemsApi", new { caid = "PLDG5" });
});
})
)