When you have configured the norows with a text and the server does not respond with a valid answer instead of displaying only the status you get to see both the norecords template and the failed status template.
There should be only one of them visible and the failed status template should take precedence.
Problem with ToTreeDataSourceResult method when filtering on root and child level.
Also applying filtering causes a significant slowdown in the query created by the ToTreeDataSourceResult method even when applied to small datasets.
Please refer to the code below and simply filter the first column with the value of 5.
//View
@(Html.Kendo().TreeList<WebApplication1.Models.SerialModel>()
.Name("treelist")
.Toolbar(toolbar => toolbar.Create().Text("New Level"))
.Columns(columns =>
{
columns.Add().Field(e => e.RecordID).Width(280);
columns.Add().Field(e => e.SerialNumber).Width(160);
columns.Add().Field(e => e.Name);
columns.Add().Field(e => e.Location).Width(200);
columns.Add().Field(e => e.ParentID).Width(140);
columns.Add().Command(c =>
{
c.CreateChild().Text("New Child");
c.Edit();
c.Destroy();
}).Width(250);
})
.Editable(editable => editable.Mode("inline")).Filterable(true).Filterable(f => f.Extra(false))
.DataSource(dataSource => dataSource
.Read(read => read.Action("TreeListData", "Home"))
//.ServerOperation(false)
.Model(m =>
{
m.Id(f => f.RecordID);
m.ParentId(f => f.ParentID).DefaultValue("0");
})
)
.Height(540)
)
//Controller code:
public ActionResult TreeListData([DataSourceRequest]DataSourceRequest request, int? id)
{
var source = Enumerable.Range(1, 5).Select(x => new SerialModel()
{
RecordID = x,
SerialNumber = x,
Name = "Name " + x,
Location = "Location " + x,
hasChildren = true,
ParentID = x < 5 ? 0 : (x / 5)
});
return Json(source.ToTreeDataSourceResult(request, e => e.RecordID,
e => e.ParentID, e => id.HasValue ? e.ParentID == id : e.ParentID == 0, m => m));
}
Instead of 1 record it returns 2 same items.
Filtering of the TreeList should be as fast as sorting.
When server-side localization is used Filtering is always enabled.
Runnable sample is available in ticket 1580765
The Filterable.Operators automatically configures the messages for the string, number, date and enum operators based on the resx files.
Filtering for the TreeList is always enabled.
Filtering for the TreeList should be configurable irrespective of whether localization is used or not.
After the TreeList is initialized call the setOptions method and disable filtering:
$(document).ready(function(){
var treelist = $("#treelist").getKendoTreeList();
treelist.setOptions({
filterable:false
});
})
InLine Editable TreeList doesn't send all its data on Create and Update, if it is reorderable and the "Update" text of the Update button is clicked
For a visual reproduction guide review this screen capture
When the text of the Update button is clicked a part of the updated data item isn't sent to the server.
The whole data item has to be send to the server on Update/Create
### Bug report
When the Drag-and-Drop functionality is enabled, the Update operation is not triggered when editing an existing item.
### Reproduction of the problem
1) Create an InLine editable TreeList;
2) Enable the dragging and dropping of the rows;
3) Edit an existing record and click the "Update" command. If you click at the span element "k-button-text", the Update request does not trigger. If you click outside of this element, the request triggers as expected.
A Dojo sample for reproduction: https://dojo.telerik.com/UQuzAnUN
### Expected/desired behavior
The "InLine" editing should work when the "move" option is enabled.
### Environment
* **Kendo UI version: 2022.2.802
* **jQuery version: 1.12.4
* **Browser: [all]
Setting the HeaderHtmlAttributes of the TreeList throws a Null reference exception.
@(Html.Kendo().TreeList<Kendo.Mvc.Examples.Models.TreeList.EmployeeDirectoryModel>()
.Name("treelist")
.Columns(columns =>
{
columns.Group(group => group
.Title("Personal Info")
.HeaderHtmlAttributes(new {@class="myClass"})
.Columns(info =>
{
//...
})
);
})
Null reference exception is thrown.
The Html attributes should be added to the header.
In ASP.NET Core, when using a TreeList with a data source that gets referenced by its id (instead of defining the data source directly on the TreeList), the built-in search functionality of the toolbar does not apply the filter to the data source. On each change of the search text the data source will send a new request, but the filter parameter is always null. When using the same approach for the Grid widget, the filter gets applied as planned. The attached project shows the behavior for both the TreeList and the Grid in detail.
Is this a bug? Is there another workaround than applying the data source directly to the TreeList (e.g. using JavaScript)?
Bug report
Column.Filterable.Ui option of the TreeList widget does not call the handler function. Can be replicated only in ASP.NET Core.
Environment
* **Kendo UI version:** 2020.2.617
* **jQuery version:** 1.12.4
* **Browser:** [all]