@(
Html.Kendo().Grid<IndexModel.CompanyFinancialVM>()
.Name("gridCompanyFinancial")
.Navigatable()
.Height(590)
.Sortable()
.Editable(e => e.Mode(GridEditMode.InCell))
.Scrollable()
.ToolBar(t => { t.Save(); t.CancelEdit(); })
.Columns(columns =>
{
columns.Bound(f => f.CompanyName).Title("Company").Width(150);
columns.Bound(f => f.PeriodName).Title("Period").Width(120);
columns.Bound(f => f.VariableName).Title("Variable").Width(150);
columns.Bound(f => f.VariableTypeName).Title("Variable Type").Width(120);
columns.Bound(f => f.Val).Title("Val")
.Width(100)
.Format("{0:n}") // Show 4 decimals and thousand separator
.EditorTemplateName("Decimal");
columns.Bound(f => f.ValCurr)
.Title("Currency")
.ClientTemplate("#= getCurrencyName(ValCurr) #")
.EditorTemplateName("Currency")
.Width(120);
columns.Bound(f => f.QuantumFK)
.Title("Quantum")
.ClientTemplate("#= getQuantumName(QuantumFK) #")
.EditorTemplateName("QuantumFK")
.Width(120);
columns.Bound(f => f.Priority).Title("Priority").Width(80);
columns.Bound(f => f.SpecOrder).Title("Spec Order").Width(100);
columns.Bound(f => f.Rem).Title("Remarks").EditorTemplateName("Rem");
})
.DataSource(ds => ds.Ajax()
.Read(r => r.Url(Url.Content("~/CompanyFinancial/Index?handler=Read")).Data("getGridRequestData"))
.Update(u => u.Url(Url.Content("~/CompanyFinancial/Index?handler=Update")).Data("forgeryToken"))
.Batch(true)
.Model(m =>
{
m.Id(f => f.Nr);
m.Field(f => f.CompanyName);
m.Field(f => f.PeriodName);
m.Field(f => f.VariableName);
m.Field(f => f.VariableTypeName);
m.Field(f => f.Priority);
m.Field(f => f.SpecOrder);
m.Field(f => f.Val);
m.Field(f => f.ValCurr);
m.Field(f => f.QuantumFK);
m.Field(f => f.Rem);
})
.Sort(s => s.Add(f => f.SpecOrder).Ascending())
.PageSize(20)
)
.Pageable()
Some PDF files are showing the following error during the watermark merging process. Please find the error below and kindly advise.
Error:
at Telerik.Windows.Documents.Utilities.Guard.ThrowExceptionIfNull[T](T param, String paramName) at Telerik.Windows.Documents.Fixed.Model.RadFixedDocument.Merge(RadFixedDocument source) at FinalPdfGenerator.CommitteePdfGeneratorService.CreateClonedDocument(RadFixedDocument document, RadFixedDocument existingDocument, Notes note) in C:\Users\JayaprakashS\Xencia\IndianBank\CodeMerge_01Oct24\LatestReviewIBCode_IBUAT_05Jun25\FinalPdfGenerator\CommitteePdfGeneratorService.cs:line 129
at FinalPdfGenerator.CommitteePdfGeneratorService.GenerateFirstPage(Notes e_Note) in C:\Users\JayaprakashS\Xencia\IndianBank\CodeMerge_01Oct24\LatestReviewIBCode_IBUAT_05Jun25\FinalPdfGenerator\CommitteePdfGeneratorService.cs:line 215
at System.Linq.Enumerable.Select[TSource,TResult](IEnumerable`1 source, Func`2 selector) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Operators.Text.ShowText.Execute(IContentStreamInterpreter interpreter, IPdfContentImportContext context, PdfString text) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Operators.Text.ShowTextArray.Execute(IContentStreamInterpreter interpreter, IPdfContentImportContext context) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.InterpreterBase`1.<>c__DisplayClass8_0.<Execute>b__0() at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.ExceptionHandling.ExecutionHandler.TryHandleExecution[E](Action operation, Action`1 onException) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.InterpreterBase`1.Execute() at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.ContentStream.ParseContentData(Byte[] data, IRadFixedDocumentImportContext context, IResourceHolder resourceHolder, IContentRootElement contentRoot, ContentStreamKeywordCollection keywordCollection) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.Page.CopyPageContentTo(IRadFixedDocumentImportContext context, RadFixedPage fixedPage) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.ExceptionHandling.ExecutionHandler.TryHandleExecution[E](Action operation) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.DocumentCatalog.CopyAllPageProperties(PostScriptReader reader, IRadFixedDocumentImportContext context, List`1 contextPages, IList`1 pages) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.DocumentCatalog.CopyPagePropertiesTo(PostScriptReader reader, IRadFixedDocumentImportContext context) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.DocumentCatalog.CopyPropertiesTo(PostScriptReader reader, IRadFixedDocumentImportContext context) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.RadFixedDocumentImportContext.BeginImportOverride() at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.BaseImportContext.BeginImport(Stream pdfFileStream) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.PdfImporter.Import(Stream input, IPdfImportContext context) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.PdfFormatProvider.<>c__DisplayClass18_0.<ImportOverride>b__0() at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.ExceptionHandling.ExecutionHandler.TryHandleExecution[E](Action operation) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.PdfFormatProvider.ImportOverride(Stream input) at Telerik.Windows.Documents.Common.FormatProviders.FormatProviderBase`1.Import(Stream input) at FinalPdfGenerator.CommitteePdfGeneratorService.LoadExistingDocument(String file) in C:\Users\JayaprakashS\Xencia\IndianBank\CodeMerge_01Oct24\LatestReviewIBCode_IBUAT_05Jun25\FinalPdfGenerator\CommitteePdfGeneratorService.cs:line 727
at FinalPdfGenerator.CommitteePdfGeneratorService.GenerateFirstPage(Notes e_Note) in C:\Users\JayaprakashS\Xencia\IndianBank\CodeMerge_01Oct24\LatestReviewIBCode_IBUAT_05Jun25\FinalPdfGenerator\CommitteePdfGeneratorService.cs:line 215
at Telerik.Windows.Documents.Utilities.Guard.ThrowExceptionIfNull[T](T param, String paramName) at Telerik.Windows.Documents.Fixed.Model.RadFixedDocument.Merge(RadFixedDocument source) at FinalPdfGenerator.CommitteePdfGeneratorService.CreateClonedDocument(RadFixedDocument document, RadFixedDocument existingDocument, Notes note) in C:\Users\JayaprakashS\Xencia\IndianBank\CodeMerge_01Oct24\LatestReviewIBCode_IBUAT_05Jun25\FinalPdfGenerator\CommitteePdfGeneratorService.cs:line 129
at System.Runtime.CompilerServices.RuntimeHelpers.AllocateUninitializedClone(Object obj) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Fonts.SimpleFontObject.GetToUnicodeOverride(CharCode code) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Fonts.FontObject.GetCharactersOverride(PdfString str) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Operators.Text.ShowText.Execute(IContentStreamInterpreter interpreter, IPdfContentImportContext context, PdfString text) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Operators.Text.ShowTextArray.Execute(IContentStreamInterpreter interpreter, IPdfContentImportContext context) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.InterpreterBase`1.<>c__DisplayClass8_0.<Execute>b__0() at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.ExceptionHandling.ExecutionHandler.TryHandleExecution[E](Action operation, Action`1 onException) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.InterpreterBase`1.Execute() at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.ContentStream.ParseContentData(Byte[] data, IRadFixedDocumentImportContext context, IResourceHolder resourceHolder, IContentRootElement contentRoot, ContentStreamKeywordCollection keywordCollection) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.Page.CopyPageContentTo(IRadFixedDocumentImportContext context, RadFixedPage fixedPage) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.ExceptionHandling.ExecutionHandler.TryHandleExecution[E](Action operation) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.DocumentCatalog.CopyAllPageProperties(PostScriptReader reader, IRadFixedDocumentImportContext context, List`1 contextPages, IList`1 pages) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.DocumentCatalog.CopyPagePropertiesTo(PostScriptReader reader, IRadFixedDocumentImportContext context) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.DocumentCatalog.CopyPropertiesTo(PostScriptReader reader, IRadFixedDocumentImportContext context) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.RadFixedDocumentImportContext.BeginImportOverride() at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.BaseImportContext.BeginImport(Stream pdfFileStream) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.PdfImporter.Import(Stream input, IPdfImportContext context) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.PdfFormatProvider.<>c__DisplayClass18_0.<ImportOverride>b__0() at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.ExceptionHandling.ExecutionHandler.TryHandleExecution[E](Action operation) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.PdfFormatProvider.ImportOverride(Stream input) at Telerik.Windows.Documents.Common.FormatProviders.FormatProviderBase`1.Import(Stream input) at FinalPdfGenerator.CommitteePdfGeneratorService.LoadExistingDocument(String file) in C:\Users\JayaprakashS\Xencia\IndianBank\CodeMerge_01Oct24\LatestReviewIBCode_IBUAT_05Jun25\FinalPdfGenerator\CommitteePdfGeneratorService.cs:line 727
Code:
private RadFixedDocument CreateClonedDocument(RadFixedDocument document, RadFixedDocument existingDocument, Model.Notes note)
{
RadFixedDocument clonedDocument = new RadFixedDocument();
try
{
foreach (RadFixedPage currentPage in existingDocument.Pages)
{
Watermark(currentPage, note.strNoteStatus, 0, 0, FirstVal);
Watermark(currentPage, note.noteNumber, 0, 65, SecVal);
}
clonedDocument.Merge(GenerateFirstPage(note));
clonedDocument.Merge(existingDocument);
clonedDocument.Merge(GenerateSignaturePage((int)note.noteId));
clonedDocument.Merge(CommentAuditLogPage((int)note.noteId));
int pageNumber = 0;
foreach (RadFixedPage currentPage in clonedDocument.Pages)
{
pageNumber++;
Footer(currentPage, pageNumber, clonedDocument.Pages.Count);
}
}
catch (Exception ex) {
AddLogs(_dbContext, "ECommittee Pdf Genarator", ex.StackTrace, ex.InnerException?.ToString());
}
return clonedDocument;
}
In a popup template I am attempting to format decimal field to
I have the field decorated as follows
[DisplayName("Amount in $")]
[DisplayFormat(ApplyFormatInEditMode = false, DataFormatString = "{0:C2}")]
public decimal? CollateralAmount { get; set; }
I have tried 2 different approaches.
The below code does not give me any of the 3 things I need
<forminput asp-for="CollateralAmount" asp-format="{0:C2}"></forminput>
The below code gives me a text box with spinners that provides the decimal places I need and the commas in the correct place but I do not want spinners and it does not put a $ sign in when I am not editing the field.
<input type="number" class="currency" name="CollateralAmount" data-type="currency" data-bind="value:CollateralAmount" data-role="numerictextbox" />
Hello,
I need to display multiple ExpansionPanels with nested TreeViews, however I don't find examples of this, and this code is failing with exception:
@(Html.Kendo().ExpansionPanel()
.Title(group.Text)
.Content(@<text>
@(Html.Kendo().TreeView()
.Name("tree" + group.Id)
.CheckboxTemplateId("checkbox-template")
.Checkboxes(true)
.BindTo(group.Items))
</text>)
)
Fails with:
fail: Microsoft.AspNetCore.Server.Kestrel[13]
Connection id "0HN9NPOSEKJS4", Request id "0HN9NPOSEKJS4:00000002": An unhandled exception was thrown by the application.
System.NullReferenceException: Object reference not set to an instance of an object.
at Kendo.Mvc.UI.WidgetBase.VerifySettings()
at Kendo.Mvc.UI.WidgetBase.WriteHtml(TextWriter writer)
at Kendo.Mvc.UI.ExpansionPanel.WriteHtml(TextWriter writer)
at Kendo.Mvc.UI.WidgetBase.RenderHtml(TextWriter writer)
at Kendo.Mvc.UI.WidgetBase.ToHtmlString()
at Kendo.Mvc.UI.Fluent.WidgetBuilderBase`2.ToHtmlString()
at Kendo.Mvc.UI.Fluent.WidgetBuilderBase`2.WriteTo(TextWriter writer, HtmlEncoder encoder)
at Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.ViewBuffer.WriteToAsync(TextWriter writer, HtmlEncoder encoder)
at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderLayoutAsync(ViewContext context, ViewBufferTextWriter bodyWriter)
at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderLayoutAsync(ViewContext context, ViewBufferTextWriter bodyWriter)
at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(ViewContext context)
at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable`1 statusCode)
at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable`1 statusCode)
at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ActionContext actionContext, IView view, ViewDataDictionary viewData, ITempDataDictionary tempData, String contentType, Nullable`1 statusCode)
at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewResultExecutor.ExecuteAsync(ActionContext context, ViewResult result)
at Microsoft.AspNetCore.Mvc.ViewResult.ExecuteResultAsync(ActionContext context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|30_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|7_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(HttpContext context)
at Microsoft.WebTools.BrowserLink.Net.BrowserLinkMiddleware.InvokeAsync(HttpContext context)
at Microsoft.AspNetCore.Watch.BrowserRefresh.BrowserRefreshMiddleware.InvokeAsync(HttpContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
Treeview works in itself and if I wrap it in ExpansionPanel raw HTML.
Is there anyway around it?
Thank you.
I'm just starting to catalog the issues list, but I'm immediately noticing that any markup passed to non-template areas has ceased rendering.
For example:
<div class="demo-section">
@(Html.Kendo().Switch()
.Name("switch")
.Messages(c => c.Checked("<span>YES</span>").Unchecked("<span>NO</span>"))
)
</div>
used to render the markup vs displaying the markup text. Now it spits it out.
I have used similar techniques in Grid commands as well, which are all also broken. Basic custom commands I can work around by using the .Template option instead of .Text, but for an Edit's UpdateText and CancelText, I cannot find a workaround that isn't completely unbearable to manage at anything remotely near scale.
Is there a workaround or option to re-enable rendering HTML in these places I am simply not seeing?
Also, this feels like a pretty significant change to bury inside of a generic "rendering mismatch" (which may not even be referring to this, but I cannot find anything in the breaking changes mentioning something like this change). If there's not an effective way to get back to this functionality, it's going to potentially cost me days/weeks to find a tenable solution.
Using the example from this page: https://docs.telerik.com/kendo-ui/framework/pdf/page-templates
My goal is to produce a PDF from the webpage with a header and footer as shown on the page above, and to be able to save the PDF to a location.
When using this method, the template header and footer display correctly.
kendo.drawing.drawDOM("#grid", { paperSize: "A4", margin: "3cm", template: $("#page-template").html() //WORKS }).then(function(group){ kendo.drawing.pdf.saveAs(group, "filename.pdf"); });
However, when using this method, the "template" is ignored. I have tried placing the properties in the "saveAs" object, but this didn't work either.
kendo.drawing.drawDOM("#grid", { }).then(function(group){ return kendo.drawing.exportPDF(group, { paperSize: "A4", margin: { left: "1cm", top: "1cm", right: "1cm", bottom: "1cm" }, template: $("#page-template").html() //IGNORED }); }) .done(function (data) { kendo.saveAs({ dataURI: data, fileName: "filename.pdf", //proxyURL: "myurl/Test/" }); });
How can I get the template to show the header and footers with the 2nd method?
Or does the "kendo.drawing.pdf.saveAs" have a "proxyURL" property?
Hello
We are currently working on improving the content security policy header of our application to remove the unsafe-inline and unsafe-eval for the script element.
I am facing some issues when using the Template element with the generated deferred javascript mostly in the grid and I hope someone could help me with that.
Firstly, I'd like to know if there are some tag helpers that could be used to generate some template. To be more explicit : we use some shared and partial views to render the components in edition mode in our grids. These views are written using tag helpers, for instance we have the following file Views\Shared\EditorTemplates\DateTime.cshtml :
@model DateTime
<kendo-datetimepicker asp-for="@Model" />
Used in our grids :
column.Bound(User => User.DateCreated).EditorTemplateName("DateTime")
(this is a basic example but we have some more complex views using home made components with taghelper syntax)
I noticed there is a kendo-template tag helper and I would like to know if there is any way to use it in our views, so I could replace my view with the following code and use the EditorTemplateComponentName extension method in my grid :
<kendo-template>
<kendo-datetimepicker asp-for="@Model" />
</kendo-template>
When I tried to do this I have an exception :
Secondly, I noticed an issue when using some kendo elements in editor templates: the javascript rendered in the deferred script file includes the initialisation scripts at the root of the script file. This mainly cause some issues in my pages when some other element has the same names (but I think it can lead to some other issues).
For instance, I have the following column definition in my grid:
<columns>
<column field="FullName" title="FullName"></column>
<column field="DateCreated" title="DateCreated">
<column-editor-template>
<kendo-datetimepicker name="dateCreated"></kendo-datetimepicker>
</column-editor-template>
</column>
</columns>
Then in the kendo-deferred-script javascript file I can see the dateCreated element is inialized at the beginning of the file and in the template function:
I'm joining a sample application with both cases to help reproduce the issues.
Is there something I'm doing wrong or any improvement coming in the next versions to fix these issues ?
Thanks in advance
Yael
I have a notification that looks like this:
<kendo-notification name="notifications" stacking="NotificationStackingSettings.Down" auto-hide-after="2500">
<position pinned="true" top="30" right="30" />
<popup-animation>
<open duration="700" />
<close duration="250" />
</popup-animation>
<templates>
<notification-template type="success" template='<p class="text-lead"><i class="fas fa-check-circle"></i> #=message#</p>'>
</notification-template>
<notification-template type="error" template='<p class="text-lead"><i class="fas fa-exclamation-circle"></i> #=message#</p>'>
</notification-template>
</templates>
</kendo-notification>
I want to avoid using unsafe-eval in the Content Security Policy. How do I convert the templates? The instructions given here are not clear in this case. I want to avoid using a client-side handler if possible.
Thank you
Given the following form:
<kendo-form orientation="vertical" layout="grid" name="formEntity" size="medium">
<form-items>
<form-item hidden-editor="true" field="Id"></form-item>
<form-item hidden-editor="true" field="ParentId"></form-item>
<form-item hidden-editor="true" field="ClientId"></form-item>
<form-item field="EntityName" editor-handler="setRequiredTextboxEditor">
<item-label text="Name" optional="false"/>
</form-item>
<form-item field="EntityEmail" editor-handler="setRequiredTextboxEditor">
<item-label text="Email" optional="false"/>
</form-item>
<form-item field="EntityPhone" editor-handler="setRequiredTextboxEditor">
<item-label text="Phone" optional="false"/>
</form-item>
</form-items>
<validatable validate-on-blur="true" error-template="<span class='k-form-error'>#:message#</span>" validation-summary="false"></validatable>
</kendo-form>
I am trying to create a custom template to house the buttons displayed on the form. All I really wish to do is show/hide the Clear button under certain circumstances and I figured doing so in a template might be my best option.
However, I cannot get a custom template to appear for the form and there are no examples of how to do this in the documentation that I could find.
I assumed it would be something like this:
<buttons-template>
<kendo-template>
<div class="k-form-buttons">
<button id="btnSave" class="k-form-submit k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary k-focus" data-role="button" type="submit" role="button" aria-disabled="false" tabindex="0"><span class="k-button-text">Submit</span></button>
<button id="btnClear" class="k-form-clear k-button k-button-md k-rounded-md k-button-solid k-button-solid-base" data-role="button" type="button" role="button" aria-disabled="false" tabindex="0"><span class="k-button-text">Clear</span></button>
</div>
</kendo-template>
</buttons-template>
But this just hides the buttons entirely. I know I am missing something, I just don't know what it is.
Thanks.