Hi, I have an index page that I'm trying to implement a simple kendo grid
I have followed the instructions closely here:
https://docs.telerik.com/aspnet-core/getting-started/getting-started
However I keep getting a problem of 'uncaught referenceerror kendo is not defined' on the client-side js
I have attached the relevant files.
Thanks in advance
Currently I have a grid that groups on a specific column of the data. The display looks just as desired. A template is used to display the grouping "header" like
.ClientGroupHeaderTemplate("Title: #= ... # <br/>Description: #=... # <br/>Author: #= ... # <span class='badge badge-light'>#= ... #/#= ... #</span>");I
The problem is that when exporting to Excel this "header" along with the associated HTML is exported as well. I would like to somehow disable these extra header lines from appearing in the exported data? As an added bonus I would also like to remove the duplicates from the exported data.
Thank you.
I posted this in another thread (https://www.telerik.com/forums/how-to-disable-a-dropdownlist-in-a-row-when-another-dropdownlist-chooses-a-value) if you need more background but this is a new issue I've encountered so it deserves it's own thread in case someone else runs into it.
I have a grid very similar to the one in this example where I am using 3 different client templates to populate and bind 3 drop downs in my grid:
https://demos.telerik.com/aspnet-core/grid/editing-custom
My dropdowns are:
Category
Department
Configuration
I got this all working perfectly but then the client wanted to make Department an editable dropdown (either choose an option, or add a new one on the fly) so I converted the Department dropdownlist to a combobox
I then wrote an ajax call to add the new item to the database:
//e is the Department combobox
function addDepartment(e) {
var dept = new Object();
dept.DepartmentID = 0;
dept.DepartmentName = e.text();
$.ajax(
{
url: '@Url.Action("AddDepartment", "Wizard")',
type: 'GET',
dataType: "json",
data: dept,
contentType: 'application/json; charset=utf-8',
success: function (result) {
console.log("success");
//re-fetch the datasource so the combo has the newly added item in it with its new PK
this.dataSource.read();
//I tried forcing its selection like this but it didn't help
e.value(result.DepartmentID);
}
})
console.log("dept added");
}
Everything work the way it should, the record is saved to the db, the combobox has the newly added item selected but when you go to save the row, that newly added Department is not actually selected (you get an empty object posted to Controller). HOWEVER, if you first select another option from the Department combo then re-select the newly added item it 'sets' the state correctly to the new object and it gets posted to the Controller correctly. You can see in my script above I'm trying to force it to set the combo but that didn't work. Any ideas how to work around this?
When I make a TreeList selectable, how do I capture a click and double-click event with information about the selected Item?
Thanks, Joel
Using ASP.NET Core 3.1 Razor Pages
Page Model:
public IList<Label> Label { get;set; }
public async Task OnGetAsync()
{
Label = await _context.Labels
.ToListAsync();
}
Page: This renders no output at all on the Razor page even though debugging shows records in Model.Label.
I've also noticed that the standard table bound to the same data will work until this code is added to the page, it then also renders nothing. Other controls work fine.
@(
Html.Kendo().Grid(Model.Label)
.Name("label-grid")
.Columns(columns =>
{
columns.Bound(c => c.ProductId).Title("Item");
columns.Bound(c => c.Template);
columns.Bound(c => c.Family);
columns.Bound(c => c.ProductLine);
columns.Bound(c => c.EdgeDetail);
columns.Bound(c => c.GridSize);
columns.Bound(c => c.Size);
})
)
Hello,
I'm currentlty migrating a project to net core 3.1 and I have an issue with the ForeignKey column into a grid. Everything is fine with an another net version.
The issue is that if I try to have a ForeignKey column with a guid proprerty is not working properly, the dropdown is correctly populated so I can select the value I want but after the selection the cell is empty, the selected value has been successfuly sent to the server and if I try to display the grid items into the console the value is correct too but nothing is displayed.
And if I try to switch the type of the property from GUID to string, it's working.
The DataFieldValue and the DataFieldText are correct too.
Any ideas?
Thanks.
I have a grid very similar to the one in this example where I am using 3 different client templates to populate and bind 3 drop downs in my grid:
https://demos.telerik.com/aspnet-core/grid/editing-custom
My dropdowns are:
I have a business rule whereby if the user chooses one particular category then I need to set the Configuration drop down to it's first selection (which is 'NONE') and disable it so that the user is unable to change it. If the user chooses any other category, I need to re-enable that Configuration dropdown so that they can make a choice. How do I tackle this?
Hey,
So I've been using the asp.net core kendo and it is great but I cannot seem to get over one hurdle and that is the validation.
I have extended the kendo validation to include remote validation to check if a field name exists in the database already, that all works fine but the problem currently is that if I include the jQuery validation and jQuery unobtrusive validation into my scripts I would get 404 errors every time I type something into the text box (because the remote url passed down is different on unobtrusive than on kendo validation). I have attached an image of the 404 error I am getting.
But if I remove jQuery validation and jQuery unobtrusive I get no errors but because of the nature of razor pages the kendo remote validation does not register to the model and so even if the remote validation failed, the field is updated/added.
app.js
"use strict"
;
import gridFunctions from
"./js/gridFunctions"
;
// Top level packages that need to be initiated first
import $ from
"../node_modules/jquery/dist/jquery"
;
window.jQuery = $;
window.$ = $;
gridFunctions();
// Scss
import
"./scss/app.scss"
;
// Add all kendo
import
"@progress/kendo-ui"
;
import
"@progress/kendo-ui/js/kendo.aspnetmvc"
;
import
"@popperjs/core"
;
// Add jquery validation
import
"jquery-validation/dist/jquery.validate"
;
import
"jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive"
;
// Add boostrap js
import
"@popperjs/core/dist/cjs/popper"
;
import
"bootstrap/dist/js/bootstrap.bundle"
;
// Add Font Awesome
import
"@fortawesome/fontawesome-free/js/all"
;
$.validator.setDefaults({
ignore:
""
});
Edit.cshtml
<
form
method
=
"post"
>
<
input
type
=
"hidden"
asp-for
=
"@Model.SystemRole.SystemRoleId"
/>
@* Inputs *@
<
div
class
=
"row"
>
<
div
class
=
"col-sm-3"
>
<
div
class
=
"input-outer"
>
<
label
asp-for
=
"@Model.SystemRole.SystemRoleDesc"
class
=
"required"
></
label
>
<
input
asp-for
=
"@Model.SystemRole.SystemRoleDesc"
data-val-remote-additionalfields
=
"SystemRoleDesc"
data-val-remote-url
=
"CheckSystemRoleDescExists"
class
=
"k-textbox"
/>
<
span
asp-validation-for
=
"@Model.SystemRole.SystemRoleDesc"
></
span
>
</
div
>
<
div
class
=
"input-outer"
>
<
label
asp-for
=
"@Model.SystemRole.SystemRoleRef"
class
=
"required"
></
label
>
<
input
asp-for
=
"@Model.SystemRole.SystemRoleRef"
data-val-remote-additionalfields
=
"SystemRoleRef"
data-val-remote-url
=
"CheckSystemRoleRefExists"
class
=
"k-textbox"
/>
<
span
asp-validation-for
=
"@Model.SystemRole.SystemRoleRef"
></
span
>
</
div
>
<
div
class
=
"input-outer"
>
<
label
asp-for
=
"@Model.SystemRole.IsDeleted"
></
label
>
<
input
asp-for
=
"@Model.SystemRole.IsDeleted"
type
=
"checkbox"
data-validate
=
"false"
class
=
"k-checkbox"
>
<
span
asp-validation-for
=
"@Model.SystemRole.IsDeleted"
></
span
>
</
div
>
</
div
>
<
div
class
=
"col-sm-3"
></
div
>
<
div
class
=
"col-sm-3"
></
div
>
<
div
class
=
"col-sm-3"
></
div
>
</
div
>
<
hr
/>
@* Buttons *@
<
input
type
=
"submit"
value
=
"Update"
class
=
"btn btn-primary"
/>
</
form
>
Any help is really appreciated!
Thank you.