I have a multi-step View. In the first Partial I want to capture the id of a Patient from a Kendo Grid. I need to retain that value into the @Model then move to the second Partial. In this second Partial I then capture scheduling information. No record is persisted until I have data from both Partial Views.
Questions:
hi
i noticed the Checkbox is not working in the .net core Grid (inline edit) mode. i can see that in your demo itself https://demos.telerik.com/aspnet-core/grid/editing-inline
is this a known issue are there any work arounds
Regards,
Rubesh
Hi,
In everything I've read in both the docs and the demos you use a separate controller for the Read and ValueMapper functions associated with the virtualized combobox. The code below is taken from teh virtualizationcontroller.cs in your demo. I am trying to use Razor exclusively and … in theory … I shouldn't need a separate controller class. However, the page I am trying to use the combobox on is the index.cshtml under areas\identity\pages\account\Manage.
The markup, taken from you demo, for the combo is as follows:
@(Html.Kendo().ComboBox()
.Name("orders")
.DataTextField("ShipName")
.DataValueField("OrderID")
.HtmlAttributes(new { style = "width:100%" })
.Template("#= OrderID # | For: #= ShipName #, #= ShipCountry #")
.Height(290)
.DataSource(source => {
source.Ajax()
.PageSize(80)
.Read("Virtualization_Read", "ComboBox");
})
.Virtual(v => v.ItemHeight(26).ValueMapper("valueMapper"))
)
Please notice the .Read("Virtualization_Read", "ComboBox"). It's my understanding that "ComboBox" is the controller. How would I point/route that to the razor cshtml.cs file? Right now, if I put the "controller" functions in the .cshtml.cs file they never get called and the combo remains empty. I assume this is because it's not in a controller.
Any guidance or samples would be great!
Thanks … Ed
public ActionResult Virtualization_Read([DataSourceRequest] DataSourceRequest request)
{
return Json(GetOrders().ToDataSourceResult(request));
}
public ActionResult Orders_ValueMapper(int[] values)
{
var indices = new List<int>();
if (values != null && values.Any())
{
var index = 0;
foreach (var order in GetOrders())
{
if (values.Contains(order.OrderID))
{
indices.Add(index);
}
index += 1;
}
}
return Json(indices);
}
private IEnumerable<OrderViewModel> GetOrders()
{
using (var northwind = GetContext())
{
return northwind.Orders.Select(order => new OrderViewModel
{
ContactName = order.Customer.ContactName,
Freight = order.Freight,
OrderDate = order.OrderDate,
ShippedDate = order.ShippedDate,
OrderID = order.OrderID,
ShipAddress = order.ShipAddress,
ShipCountry = order.ShipCountry,
ShipName = order.ShipName,
ShipCity = order.ShipCity,
EmployeeID = order.EmployeeID,
CustomerID = order.CustomerID
}).ToList();
}
}
}
Hello,
When the edit mode is used for other controls, we are given the option to select a template that resides inside of the ~/Views/Shared/EditorTemplates/ folder.I would like to be able to select a template that would be used to display each of the records for this control as well instead of relying on .ClientTemplateId(). Is this currently possible?
For instance, I would like to be able to select the template located at ~/Views/Shared/Templates/ChannelCard.cshtml by doing the following:
@(Html.Kendo().ListView<NotificationSystem.Data.Models.ChannelCard>()
.Name(
"channels"
)
.TagName(
"ul"
)
.TemplateName(
"ChannelCard"
)
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action(
"Read"
,
"Channels"
).Data(
"bindSearch"
))
.PageSize(20)
)
.Pageable()
.HtmlAttributes(
new
{@
class
=
"channel-list"
})
.Deferred()
)
I am working with AutoComplete in a grid cell. I need the dropdown display for the filter to be different than the value that populates the field once a value is selected. The stored procedure that returns the values to be searched/filtered combines several fields so the users can filter several fields at once. However, I don't want the final selected value displayed to be that field but another shortened field. In my example, the filtering is done on a combination of "ProjectNumber" and "ProjectName" while the final selected value displayed should only be the ProjectNumber.
This isn't an issue once the user presses the Bulk Save button on the grid as the read returns only the ProjectNumber for the grid field but I need to display only the ProjectNumber once an autocomplete value is selected.
@(Html.Kendo().AutoComplete()
.Name("")
.Filter(FilterType.Contains)
.DataTextField("ProjectLookup")
.Value("ProjectKey")
.ValuePrimitive(true)
.Placeholder("Select...")
.Template("#= ProjectNumber # | #= ProjectName #")
.AutoWidth(true)
.MinLength(1)
.DataSource(dataSource =>
{
dataSource.Ajax();
dataSource.Read(read =>
{
read.Action("ProjectAutoComplete_Read", "Timecard").Data("projectAutoCompleteRead");
})
.ServerFiltering(false);
})
.Events(events => events
.Select("projectAutoComplete_OnSelect")
.Filtering("projectAutoComplete_OnFiltering")
.Change("projectAutoComplete_OnChange")
)
)
I've just set up a grid using ASP.NET core, and the controller method to return data is called, but no data is displayed by the grid. Looking at the JSON returned in Fiddler, it seems the field name cases have been changed by the serializer to be camel case, with the first letter always being lower case.
As the field names of the table are uppercase, this means they aren't being picked up by the grid. The only other option is to serialize as snake case, which doesn't help.
How can this be handled?