The only way I have found to specify the editable template of a Grid is by creating a separate view inside Shared/EditorTemplates or Controller/EditorTemplates. However, I would like to generate the views dynamically (based on the permissions of the user). So is there any way that I can specify a custom template in the same view? Can ClientTemplate do that?
The Grid control can already generate a dynamic template for the popup, is there any way to override it's behavior?


I'm trying to render a grid on demand in a tab using the nw component views. I have tried the following but non work.
@(Html.Kendo().TabStrip().Name("tabstripx").Items(tabstrip =>{tabstrip.Add().Text("Tab1").Content(@<text> @Component.InvokeAsync("SupplierCompliance", new { SupplierId = Model.Id }) </text>); tabstrip.Add().Text("Tab1").Content(@<text> <vc:supplier-compliance id="3"></vc:supplier-compliance> </text>);}))
Hello-
I am having an issue accessing my ICollection <Image> Images in the ClientTemplate. It is accessible from the kendo datasource, but not in the ClientTemplate script; however, all of other variables of a different type from my class are accessible. The Image class has a member of type string called "name". My script to access that variable is below. When I load this page, the ListView comes up empty.
<script type="text/x-kendo-tmpl" id="template"> <div id="product"> <dl id="itemDetails"> <dt>ImageName:</dt> <dd>#:Images[0].Name#</dd> </dl> </div></script>
How I successfully access the variable from the dataSource:
function x () { var index = this.select().index(); var dataItem = this.dataSource.view()[index]; $("#ImageName").html(dataItem.Images[0].name);}
How does my syntax need to change to access it in the ClientTemplate script?
Thank you for the help,
S

Hi,
I am new to Telerik controls. I am trying to bind grid to datasource, not sure what am I doing wrong but grid is always empty.
Here is some sample code.
public IActionResult Index(string YYYYQ)
{
var initialYYYYQ = YearAndMonth.AbstractStartYearMonth();
SelectedMeasuresViewModel sModel = GetMeasureSelectionData(initialYYYYQ);
return View(sModel);
}
public ActionResult MeasureSelections_Read([DataSourceRequest] DataSourceRequest request)
{
return Json(GetMeasureSelectionData("2017-02"));
}
private SelectedMeasuresViewModel GetMeasureSelectionData(string YYYYMM)
{
measureSelectionList = someData;
SelectedMeasuresViewModel sModel = new SelectedMeasuresViewModel();
sModel.SelectedYYYYMM = YYYYMM;
sModel.SelectedMeasureSets = measureSelectionList; (this is list of MeasureListData)
return sModel;
}
View is simple
@using (Html.BeginForm())
{
@Html.DropDownListFor(m => m.SelectedYYYYMM, YearAndMonth.MonthDropdownOptions(), new { onchange = "this.form.submit(); " })
@Html.Partial("MeasureSelections", Model.SelectedMeasureSets)
}
Partial View is
@(Html.Kendo().Grid<EncorI.Web.Areas.Admin.Models.MeasureListData>()
.Name("measureSelectionGrid")
.Columns(columns =>
{
columns.Bound(c => c.Enabled).Width(100);
columns.Bound(c => c.MeasureSetID).Width(100);
columns.Bound(c => c.MeasureSetName).Width(300);
columns.Bound(c => c.HospitalID).Width(100);
columns.Bound(c => c.HospitalName).Width(300);
})
.HtmlAttributes(new { style = "height: 850px;" })
.Scrollable()
.Groupable()
.Sortable()
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("MeasureSelections_Read", "measureSelectionGrid"))
.PageSize(20)
)
)

Is there a simple way to change the background color of the Month/Year view?
Thanks.
-------------------------------------------------------------------------------------------------------------
<telerik:RadDatePicker RenderMode="Lightweight" ID="FromScreeningDatePicker" runat="server" Width="120px"
ClientEvents-OnDateSelected="FromDateSelected"
Calendar-CalendarTableStyle-BackColor="White"
Calendar-TitleStyle-BackColor="White"
MinDate='<%# Convert.ToDateTime("01/01/1900")%>' MaxDate='<%# Convert.ToDateTime(DateTime.Now.ToString("MM/dd/yyyy"))%>'
DbSelectedDate='<%# startDate %>' FocusedDate="01/01/2016">
</telerik:RadDatePicker>
How do I get the resource (RoomID) from an associated click event:
var scheduler = $("#scheduler").data("kendoScheduler");
scheduler.wrapper.on("click touchend", " .k-scheduler-content td", function (e) {
var slot = scheduler.slotByElement(e.originalEvent.target);
if (slot) {
alert(slot.startDate);
alert(slot.endDate);
alert(slot.resources.RoomID);?????
}
});

Hi,
I'm binding a grid to a collection of my model and when that collection is empty the grid is making a post to get data.
Trying to avoid that useless ajax requests I set AutoBind(false) but when I return a collection with data the grid do not bind it.
How can I prevent the request event if there is no initial data?

I have a grid and I am doing ajax batch updates using the following methods in my controllers with Entity Framework. This is working fine.
http://docs.telerik.com/aspnet-mvc/helpers/grid/editing/batch-editing
Do you have a controller code example (hard to find on the net) to perform the same type of batch update but with a many-to-many db relationship as I have added a multiselect component on my grid?
This is a follow up of my post here