I'm implementing a file manager in an MVC site that works with files located somewhere other than the site. I have got this working fine as long as I stay in the root directory. Trying to change into another directory throws the following error in the console:
Error! Could not navigate to the folder at the requested path(/Message Attachments). Make sure that the parent folder of the target folder has already been loaded.
As changing directories doesn't seem to be triggering anything on the server, I'm at a loss as to how to troubleshoot this.
The code in the view is pretty much right out of the demo at this point:
@(Html.Kendo().FileManager().Name("filemanager") .DataSource(ds => { ds.Read(operation => operation .Type(HttpVerbs.Post) .Action("Read", "Documents") ); ds.Destroy(operation => operation .Type(HttpVerbs.Post) .Action("Destroy", "Documents") ); ds.Create(operation => operation .Type(HttpVerbs.Post) .Action("Create", "Documents") ); ds.Update(operation => operation .Type(HttpVerbs.Post) .Action("Update", "Documents") ); }) .UploadUrl("Upload", "Documents") .Toolbar(tb => tb.Items(items => { items.Add("createFolder"); items.Add("upload"); items.Add("sortDirection"); items.Add("sortField"); items.Add("changeView"); items.Add("spacer"); items.Add("details"); items.Add("search"); })) .ContextMenu(context => context.Items(items => { items.Add("rename"); items.Add("delete"); })))I am using @Html.Kendo().Spreadsheet() on a Razor page in a DotNet Core App. I want to Configure which options are available on the Toolbar and add a Custom one. I see from an older question from 2017, adding a Custom button was not supported back then. Has that changed?
Can someone point me to the appropriate documentation for that please.

I have a grid filter on a column that doesn't allow decimals. I tried the solution provided in this forum topic but it appears to only work when Mode(GridFilterMode.Row) is set but I have to use Mode(GridFilterMode.Menu). Do you have a working example for the Mode(GridFilterMode.Menu) option to ensure that decimals don't show up in the input after you filter the grid and reopen the filter input menu or focus out of the filter input for the numeric text box?
code for the column in the grid:
columns.Bound(c => c.ProspectID).Title("ID").Sortable(true).Filterable(ftb => ftb.Cell(cell => cell.Template("customFilter"))).Format("{0:N0}");
Custom form to export the excel from a grid external html button:
<form class="grid-export" action="@Url.Action("CreateExcelFile")" method="POST">
<input type="hidden" id="export-grid" name="grid" value="" />
<input type="hidden" id="export-model" name="model" value="" />
<input type="hidden" id="export-title" name="title" value="Prospects Export" />
<input type="hidden" id="export-format" name="format" value="xlsx" />
<input type="hidden" id="export-criteria" name="criteria" value="" />
<button id="btnGridExport" type="submit" class="submitButtons secondary" onclick="exportExcel()">Export</button>
</form>JavaScript code to align to that so far:
function exportExcel() {
var grid = $("#prospectGrid").data("kendoGrid");
$("#export-model").val(encodeURIComponent(JSON.stringify(grid.columns)));
$("#export-grid").val("prospectGrid");
closeGridExport();
}
function customFilter(args) {
args.element.kendoNumericTextBox({
decimals: 0,
format: "n0"
});
}Thanks,
Sean
I want to have the grid number column (ID field) filter to be integer. How can I accomplish that? When it run, the filter show decimal. There is no JavaScript for it. What is the correct code?
Thank you very much in advance!!
Anieda
Here is the code:
@{<br> Html.Kendo().Grid(Model)<br> .Name("grid")<br> .Columns(columns =><br> {<br> columns.Bound(request => request.Id).Encoded(false);<br> columns.Bound(request => request.Requestor).Encoded(false);<br> columns.Bound(request => request.RequestDate).Format("{0:MM/dd/yyyy}").Encoded(false);<br> columns.Bound(request => request.ChangeStartDateTime).Format("{0: M/d/yyyy h:mm tt}").Encoded(false);<br> columns.Bound(request => request.ChangeEndDateTime).Format("{0: M/d/yyyy h:mm tt}").Encoded(false);<br> columns.Bound(request => request.RequestSubject).Encoded(false);<br> columns.Bound(request => request.CurrentStatus).Encoded(false);<br> columns.Bound(request => request.CompletedFlag).Encoded(false);<br> })<br>.Filterable(filterable => filterable<br> .Extra(false)<br> .Operators(operators => operators<br> .ForString(str => str.Clear()<br> .Contains("Contains")<br> .StartsWith("Starts With "))<br> .ForNumber(num => num.Clear()<br> .IsEqualTo("Equal to"))<br> .ForDate(d => d.Clear())<br> )<br> .Mode(GridFilterMode.Row))<br>.Pageable(pageable => pageable<br> .Refresh(true)<br> .PageSizes(true)<br> .ButtonCount(5))<br>.Resizable(resize => resize.Columns(true))<br>.Selectable()<br>.Sortable()<br>.DataSource(dataSource => dataSource<br>.Server()<br>.Model(model => model.Id(request => request.Id))<br>)<br>.ToolBar(toolbar =><br>{<br> toolbar.Template(@<text><br> <div class="toolbar"><br> <label class="category-label" for="category">Requests</label><br> @Html.ActionLink("New Request", "New", "Request", null, new { @class = "btn-primary btn" })<br> </div><br></text>);<br>})<br>.Render();Scenario: Drop-down for customer to select preferred language. If they choose anything other than English, the Radio Group 'Interpreter Required?' (Yes / No) would be a required field. If they select English, this Radio Group is NOT required.
I have the 'Required' Data Annotations set in my model:
[Required]
public int? LanguageID { get; set; }
[Required]
public int? InterpreterRequiredID { get; set; }
View:
<div class="form-group">
<label>What is your preferred language?</label><br />
@Html.Kendo().ComboBoxFor(m => m.LanguageID).BindTo(new List<SelectListItem>()
{
new SelectListItem() { Text="English", Value="E" },
new SelectListItem() { Text="Spanish", Value="S" },
new SelectListItem() { Text="Other", Value="O" }
}).Events(e => e
.Change("LanguageID_onChange")
)
</div>
<div class="form-group">
<label>Do you require an interpreter?</label><br />
@Html.Kendo().RadioGroupFor(m => m.InterpreterRequiredID).Items(i =>
{
i.Add().Label("Yes").Value("1");
i.Add().Label("No").Value("2");
})
</div>
<script>
function LanguageID_onChange(e) {
var el = document.getElementById('InterpreterRequiredID');
if (this.value() == 'E') {
el.removeAttribute("data-val-required");
} else {
el.setAttribute("data-val-required", "This is required!");
}
}
</script>
I really have two questions: The first is as described above. I really have no need for the tool bar other than for entering cell comments, so I would like to know if there is a way to invoke that functionality with a double click. Also, I am replacing a Windows Desktop Application that does allow the users to double click to add comments so if I cannot do this in Kendo UI, it will be a behavior change for the users.
Secondly, can comment data be bound to the data source so that when I do a load or submit the database Comment field is updated along with all the other data?

Hi,
So basically I'm trying to load the items of my PanelBar at the creation of the PanelBar. My item has a LoadContentFrom itself but it only triggers once I open the panelbar item. It used to work with the LoadOnDemand property set to false but it doesn't anymore. Any idea what is I am doing wrong here?
@(Html.Kendo().PanelBar()
.Name("panelbar")
.ExpandMode(PanelBarExpandMode.Multiple)
.HtmlAttributes(new { @class = "k-primary", type = "submit", style = "width:100%" })
.LoadOnDemand(false)
.Items(panelbar =>
{
panelbar.Add().Text("Item Title").LoadContentFrom(Url.Action("Function", "Controller", Model));
}))
Thanks again!

I have a grid with a toolbar
.ToolBar(
tools =>
{
tools.Excel();
tools.Custom().Text("Finalize").IconClass("k-i-success").HtmlAttributes(new { id = "customButton", @class = "floatRight" });
}
)The icon class is k-i-success (also tried k-i-check-outline)
On this page (https://docs.telerik.com/kendo-ui/styles-and-layout/icons-web) it shows k-i-success as a checkmark in a circle.
But in my toolbar, it is a mail icon
Am I doing something wrong, or is there an error in the class name?

In some odd user-cases it is handy not to show the selected range inside the calendar when it shows up.
Case: Lets say you have a range already selected. Then you click the current start-date in the calendar which pops up. Further you click a new date back in time. This sets a new start date instead of selecting the end-date. The combination of actions requires 3 clicks to set the new range.
If the user unfortunately clicks on the start-date, it's not obvious to some people that the next date you select is still a start-date, unless you are aware that the controller does not select ranges backward in the calendar.
