I just updated our web application to the new 2020.2.513 core release. However, the css for menu items with children has changed. This causes the down icon to not show correctly. It shows as a box now which is what happens when it can't show the icon. (See attached.)
Old css that worked:
<span class="k-icon k-i-arrow-60-down k-menu-expand-arrow"></span>
New css that does not work:
<span class="k-menu-expand-arrow k-icon k-i-arrow-60-down"></span>
If I use the devtools of Chrome and edit the generated css to match the old css, it works again.
So, to me, it's a bug.
However, what I need asap is a way to overcome the bug for now so that the old css is used again.
Hi,
Does anyone have a working project that demonstrates how to localize the breadcrumb component?
I have the breadcrumb working by parsing a hidden field for a property in the model populated in the controller.
@(Html.Kendo().Breadcrumb()
.Name("breadcrumb")
.Navigational(true)
.RootIcon("home")
.Value(Model.Breadcrumb)
)
It all works perfectly. Except now, I need to localize the string values displayed in the breadcrumbs. And of course, not disturb the the generated URL mapping to still make the links navigational to the desired controller/action.
Is this even possible using the breadcrumb component?
Thanks
Jason
Hi to all,
I would add a function for witch he will can sync data from his ERP, this process may be very long, but I would show him progress of this process.
I think to use notification but, I don't know if it's a good approach. I think to signalR also, but it seems too much to have only a progressive update.
If it's good way first thing, how can I update from action to current view (signalR????)
What do you suggest me to do?
I need to be able to handle the Drag/Drop activity. I see no examples on how to capture the Drop or DropEnd events when doing this from an ASP.NET Core MVC application. How do I hand off all the appropriate values to the controller? Is this one call to both remove the node from the existing parent and register the node with the new parent?
TreeList
@(Html.Kendo().TreeList<
NameValueParent
>()
.Name("treelist")
.Columns(columns =>
{
columns.Add().Command(c => { c.Custom().Text("Select")
.Name("selectButton").ClassName("selectButton")
.Click("goDetail"); })
.Width(Glossary.Portal.ButtonWidth);
columns.Add().Field(e => e.Name);
columns.Add().Width(330).Command(c =>
{
c.CreateChild().Text("Add");
c.Edit();
c.Destroy();
})
.HtmlAttributes(new
{
style = "text-align: center;"
});
})
.Events(ev => ev.DataBound("onDataBound"))
.Editable(e => e.Move(true))
.Selectable(s => s.Mode(TreeListSelectionMode.Single))
.DataSource(dataSource => dataSource
.Create(create => create.Action("Create", "Site"))
.Read(read => read.Action("IndexJson", "Site").Data("getData"))
.Update(update => update.Action("Update", "Site"))
.Destroy(delete => delete.Action("Destroy", "Site"))
.ServerOperation(false)
.AutoSync(true)
.Model(m =>
{
m.Id(f => f.Id);
m.ParentId(f => f.ParentId);
m.Expanded(true);
m.Field(f => f.Name);
}).Events(events =>
{
events.Error("onError");
})
)
.Events(events => events.DragEnd("goDropEnd()"))
.Height(540))
Script
function goDropEnd(e) {
alert("goDropEnd");
alert("I have no idea what to do here");
}
Because the grid date filter is still broken (https://github.com/telerik/kendo-ui-core/issues/1864) I have to modify the filter date/time values before the request is made to the server.
I can do this for normal grid filtering by modifying the filter values in the transport parameterMap, however, when I invoke saveAsExcel() the parameterMap is not called and the wrong date/time values are sent to the server.
How can I modify the filter values *before* saveAsExcel() makes the request to the server (just as I do for normal filtering)?
Hi to all,
I'm trying to use a badge to show a value of enum with a color for each items.
this is a enum
public enum ContactSourceTypes
{
[Display(Name = "Telefono")]
Phone = 0,
[Display(Name = "Mail")]
Mail = 1,
[Display(Name = "Sistema di Marketing")]
Mautic = 2,
[Display(Name = "Altro")]
Other = 3
}
Actually it shows a Display Value of item into a grid
[...]
columns.Bound(product => product.SouceType)
[...]
Now, I would obtain a badge with a specific color and displayvalue of item's enum type. To do this I try to change column setup in this way.
columns.Bound(product => product.SouceType).ClientTemplate("<
span
id
=
'badge_#=SouceType#'
class
=
'sourceTypeBadgeTemplate'
>#=SouceType#</
span
>");
And relative script
function onDataBound(e) {
var grid = this;
grid.table.find("tr").each(function () {
var dataItem = grid.dataItem(this);
//Formattazione tipo origine
var sourceType = dataItem.SouceType;
var type = 'primary';
//alert(sourceType);
switch (sourceType) {
case 0:
type = 'primaty';
break;
case 1:
type = 'info';
break;
case 2:
type = 'success';
break;
case 3:
type = 'warning';
break;
}
var text = sourceType;
$(this).find('script').each(function () {
eval($(this).html());
});
$(this).find(".badgeTemplate").kendoBadge({
type: type,
value: text,
});
kendo.bind($(this), dataItem);
});
}
But it's wrong.....where I wrong?
I use TreeList a lot in my Portal. However, instead of having big buttons showing in the grid the users would like to have a context menu. In the simplest form, I'd need to right click and get an option to go to the details or add a sub-node of the selected node.
The node Template:
<
script
id
=
"icon-template"
type
=
"text/x-kendo-template"
>
<
div
class
=
'group-icon'
style
=
'background-image: url(@Url.Content("#: ImageUrl #"));'
></
div
>
<
div
class
=
'group-name'
>#: Name #</
div
>
</
script
>
My current TreeList:
@(Html.Kendo().TreeList<
Group
>()
.Name("treelist")
.Columns(columns =>
{
columns.Add().Field(e => e.Name).TemplateId("icon-template").Width(350);
})
.DataSource(dataSource => dataSource
.Read(read => read.Action("IndexJson", "Groups").Data("getData"))
.ServerOperation(false)
.Model(m =>
{
m.Id(f => f.Id);
m.ParentId(f => f.ParentId);
m.Expanded(true);
m.Field(f => f.Name);
})
.Sort(s => s.Add(f => f.Name))
.Events(events => events.Error("onError"))
)
.HtmlAttributes(new { style = "height:550px;" })
.Selectable(s => s.Mode(TreeListSelectionMode.Single))
.Events(events =>
{
events.DataBound("onDataBound");
}))
I have a grid that lists people. When it loads, I need to select a row matching the key I submit and then ensure the row is visible in the window. How do I do this? My attempt (based on what I know of the TreeList):
@(Html.Kendo().Grid<
Person
>()
.Name("grid")
.Columns(columns =>
{
columns.Command(command => command
.Custom("Select")
.Click("goDetail"))
.Width(Glossary.Portal.ButtonWidth);
columns.Bound(p => p.FirstName)
.Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")
.ShowOperators(false)
.SuggestionOperator(FilterType.Contains)));
columns.Bound(p => p.LastName)
.Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")
.ShowOperators(false)
.SuggestionOperator(FilterType.Contains)));
})
.Pageable()
.Selectable(s => s.Mode(GridSelectionMode.Single))
.Sortable()
.Scrollable()
.Filterable(ftb => ftb.Mode(GridFilterMode.Row))
.HtmlAttributes(new { style = "height:550px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Read(read => read.Action("IndexJson", "Patients").Data("getData"))
).Events(e => e.DataBound("onGridDataBound")))
Script:
function onGridDataBound(e) {
// Handle the dataBound event.
var grid = e.sender;
alert(grid == null);
var personId = $("#personId").val();
alert(personId);
if (grid != null)
{
var dataItem = grid.dataSource.get(personId);
alert(dataItem == null);
if (dataItem != null)
{
var row = $("tr[data-uid='" + dataItem.uid + "']");
alert(row == null);
if (row != null)
{
grid.select(row);
row[0].scrollIntoView();
}
}
}
}
Из какой версии Telerik Grid поддерживается панель инструментов поиска:
.ToolBar (toolbar =>
{
toolbar.Search ();
toolbar.Excel ();
toolbar.Pdf ();
})
А как реализовать панель инструментов поиска в 2019.2.619?
I have this tag
@(Html.Kendo().Grid<
Portale.Web2.Data.Entities.Contact
>()
.Name("contactGrid")
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("GetContacts", "Contacts").Data("addInfo"))
)
.Columns(columns =>
{
columns.Bound(product => product.Date).Format("{0:dd/MM/yyyy}");
columns.Bound(product => product.Name);
columns.Bound(product => product.City);
columns.Bound(product => product.SouceType);
columns.Bound(product => product.Type);
columns.Bound(product => product.Status);
columns.Command(command => command.Custom("Completa").Visible("isNew").Click("completeContact"));
})
.Pageable(p =>
{
p.PageSizes(new[] { 5, 10, 30 });
p.Info(true);
p.Enabled(true);
})
.Sortable()
.Groupable()
.Filterable()
)
<
script
>
function addInfo(e) {
var statusFilter = $("#statusFilter").val();
}
</
script
>
I call this action
public
ActionResult GetContacts([DataSourceRequest]DataSourceRequest request,
string
status =
""
)
{
if
(status !=
""
)
{
var contacts = from rec
in
_context.Contacts
where rec.Status == status.ToContactStatus()
select rec;
DataSourceResult result = contacts.ToDataSourceResult(request);
return
Json(result);
}
else
{
var contacts = from rec
in
_context.Contacts
select rec;
DataSourceResult result = contacts.ToDataSourceResult(request);
return
Json(result);
If I try to set a group, it shows me this exception
System.InvalidOperationException
HResult=0x80131509
Messaggio=Processing of the LINQ expression '(GroupByShaperExpression:
KeySelector: (t.Source Type),
ElementSelector:(EntityShaperExpression:
EntityType: Contact
ValueBufferExpression:
(ProjectionBindingExpression: EmptyProjectionMember)
IsNullable: False
)
)
' by '
RelationalProjectionBindingExpressionVisitor' failed. This may indicate either a bug or a limitation
in
EF Core.
I'm using a EF Core 3.1.4 that it connects to SQL Server 2018