We are using kendo Datagrid where we wanted to apply pagination.
We are using pageSizes property of pageable object to set the no of items per page to render. We are also using buttonCount property to control the number of buttons.
Problem : For example I have 200 records , if I set pagesSizes=1 so technically I will have 200 paging button and if i set buttonCount to 60 than UI gets distorted. Find below is stackblitz URL where I have set pagesSizes=1 and if you set Maximum number of buttons = 70 UI will break.
URL : https://cuezkg--run.stackblitz.io/
Hi team,
Found an issue with column filterable property on IE 11 and last kendo UI for jQuery release.
Please have a look at this dojo with IE11: https://dojo.telerik.com/UfIZePaZ
Using property "filterable: { multi: true}" on first column leads to the grid not being built with console error.
Regression bug as it works with previous kendo release.
Regards,
Laurent.
Add support for flexible width to columns on a "weight" basis (like XAML grid). Ps. I'm writting the example in MVC wrappers because I'm not familiar with the javascript initialization but I am posting this in Kendo UI Web category because it's a core feature and assume it would be implemented accordingly in every wrappers without having to specify them. @(Html.Kendo() .Grid<Employee>() .Name("EmployeesGrid") .Columns(cols => { cols.Bound(o => o.FirstName).Width("*"); cols.Bound(o => o.LastName).Width("2*"); cols.Bound(o => o.Initials).Width("Auto"); cols.Bound(o => o.JobTitle).Width("200"); // Or 200px })) -Assuming the grid is 900 pixel wide and the longest Initials (including header?) is 100 pixel -Ignoring the lost horizontal space in padding, margin, borders, scrollbars and anything else This example would give the following result: FirstName column: 200px LastName column: 400px Initials column: 100px JobTitle column: 200px
Hi,
In my kendo grid , when i apply a filter to 2 columns, first i apply filter to numeric column which results in no value and then after that i applies the filter to a string column combined with numeric column which also results to no value, Nothing is displayed. But when i remove the value from textbox of numeric column and enter filter, no data being displayed as string column filter is there but in case i remove the value from textbox of string column and enter filter , numeric column filter also got removed.
I also checked the kendo functionality , but not getting any solution for this problem.
Hallo,
i have a grid with a lot of data for a better representation i show some related values with a template in the cell below each other.
This solution is not optimal because I don't have the filter and sort function in the column header for every single field.
Enclosed an example https://www.igniteui.com/grid/multi-row-layout which illustrates my wish.
I would be happy if you implement this feature in a future release.
It would be nice if additional template variables where available, the only two: pageNum & totalPages are not enough.
Consider Time of Day & Filename at a minimum.
https://docs.telerik.com/kendo-ui/api/javascript/ui/grid/configuration/pdf.template
Hi
I am binding columns dynamcially in jquery without template column header spacing working file becuase i have added "[ ]" this symbol.
but when try to add anchor tag link with onclick method then i am getting issue.
i have attached file java script error please provide some solutions.
It fails because before setting the value it performs validation. If validation was successful then it will set the value on model.
Since the desired field has no value and validation rule will fail on that.
It should accept the value and then perform validation. If validation fails with new value then it might discard the changes.
$("#grid").kendoGrid({
dataSource: {
batch: true,
transport: {
read: function(e){
e.success([1,2,3,4,5,6,7,8,9].map(function(i){return {id: i, title: "test" + i}}));
}
},
schema: {
model: {
id: "id",
fields: {
id: {defaultValue: "-1"},
title: {
validation: {
required: true
}
}
}
}
}
},
columns: [
{field: "title", title: "Title", filterable: {field: "title.a"}},
{command: ["edit", {name: "destroy"}]}
],
editable: {mode: "inline"},
filterable: true,
toolbar: [{name: "create"}]
});
var grid = $("#grid").getKendoGrid();
var model = grid.dataItems()[0];
grid.editRow(model);
model.set('title', '');
model.set('title', 'test 1111'); // it will fail
Starting from a Grid's "endless scrolling demo" on: https://demos.telerik.com/kendo-ui/grid/endless-scrolling-remote
Edit grid configuration to set smaller page size. All items of the first page need to be visible on the screen plus some free space. A grid height needs to be set. See this DOJO: https://dojo.telerik.com/amiNohIx
The vertical scroll bar is disabled and there is no way to get/see next pages of data.
Interesting is that use of the horizontal scrollbar (if one is available) starts some background operation (looks as data page load) and then the vertical scrollbar is OK.
Since the 2019 R1 release k-pager-sm (k-pager-lg, k-pager-md) classes are assigned dynamically based on the width of the page to make the component responsive (as I understood from https://www.telerik.com/forums/kendo-ui-grid-pager-not-displaying-properly-in-sass-mode#wn92di5BakmHqrrMfViFxA)
When grids are used on bootstrap tabs (both boostrap 3 and 4) the k-pager-sm class is added incorrectly, causing the pagers on tabs other than the first to be displayed only partially.
A JSFiddle to demonstrate this: https://jsfiddle.net/nqjc4mbu/
The pager on the 1st tab:
And on the 2nd and 3rd tab:
(we've solved it with a workaround by dynamically removing the k-pager-sm class again on dataBound, but this shouldn't be necessary)
We would like to add a new column(s) dynamically to a grid, This feature is very important when grid containts lots of fields. In order to resolve slow grid rendering, we are allowing user to choose columns to show/hide and render grid accordingly. Kendo generates html code for hidden columns which causes slow rendering for large data. We are already using performance improvement suggestions from kendo like virtual scrolling, paging etc.
Hi,
I raised a forum support ticket for hiding the scrollbar when the data rows is <= pagesize. https://www.telerik.com/account/support-tickets/view-ticket/1493109
The response was to set the scrollbar overflow to auto and padding removed which caused overlapping of the scrollbar with the last column when visible.
Feature is requested to have this feature inbuilt with Grids having Virtual Scroller to avoid it.
Thanks
Devna
$scope.OptionsGridApplication_Team_Settings = {
dataSource: $scope.DataGridApplication_Team_Settings,
resizable: false, selectable: "single",
columns: [
{
field: "TeamName",
title: "TeamName",
encoded: false,
hidden: true,
attributes: { "class": "ellipsisTextSpan", },
template: function (e) { return createCoulumnTitle(fakingAngularCharacter(e.TeamName)) },
groupHeaderTemplate: function (e) {
var html = '';
html = html + '<span class="headerTeamGroup" data_TeamId="' + e.value + '" title="' + e.value + '">';
html = html + stringCutterA(e.value, 131);
html = html + '</span>';
return html;
},
},
{
field: "SystemIdentifier", title: "Environment Name", encoded: false,
attributes: { "class": "ellipsisTextSpan", }, template: function (e) { return createCoulumnTitle(fakingAngularCharacter(e.SystemIdentifier)) }
},
{
field: "EnvironmentType", title: "Environment Type", encoded: false,
attributes: { "class": "ellipsisTextSpan", }, template: function (e) { return createCoulumnTitle(fakingAngularCharacter(e.EnvironmentType)) }
},
{
field: "URL", title: "Environment URL", encoded: false,
attributes: { "class": "ellipsisTextSpan", }, template: function (e) { return createCoulumnTitle(fakingAngularCharacter(e.URL)) }
}
],
dataBound: function () {
debugger;
serviceFactory.AccessibilityGridEmpty(this);
}
};
In a Grid with checkboxes in the first column, if you navigate through the Grid for a second time, only the checkboxes are focused.
When navigating through the Grid for a second time, only the checkboxes are focused.
All the cells of the Grid should be focused.
Hi,
When the grid is initially hidden and then revealed programmatically, the pageSizes (and several other elements) are not rendered.
Reproducer:
This also breaks when you have grid in a hidden div that you toggle open and it breaks in both Chrome and Firefox
Create grid as groupable and try to set column title as "<span class='glyphicon glyphicon-cloud'></span>"
$("#grid").kendoGrid({
groupable: true,
columns: [{
field: "name",
title: "<span class='glyphicon glyphicon-cloud'></span>"
//, groupable: false
}, {
field: "age",
title: "Age"
}]
});
Expected result - column title as glyphicon glyphicon-cloud but actual is wrong
To fix the problem - set up column as groupable: false (just uncomment) and title will be ok
But if I want to use such title and groupable: true - I cannot
Full example:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Kendo UI Snippet</title>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2021.3.914/styles/kendo.default-v2.min.css"/>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2021.3.914/js/kendo.all.min.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>
<body>
<div id="grid"></div>
<script>
$("#grid").kendoGrid({
groupable: true,
columns: [{
field: "name",
title: "<span class='glyphicon glyphicon-cloud'></span>"
//, groupable: false
}, {
field: "age",
title: "Age"
}]
});
</script>
</body>
and on dojo: https://dojo.telerik.com/EWUnarUf/2
You guys do such a great job of allowing us to extend your product for our needs. And I know that you have recently added the Search Panel to allow us to perform a search against the dataSource. However, I would like to put that search box/button somewhere else completely on my page.
I've been able to get around this by using the code in kendo.grid.js to use my own click/keypress events to invoke the filter based on the new search options.
configureSearch takes two jQuery selector strings to hook into click/keypress events. I only want to search when the user hits ENTER instead of after each keypress. Then it executes the private search function.configureSearch(inputSelector: string, clickSelector: string) {
const searchFn = this.search;
if (this.grid.options.search == null) {
throw "search field(s) not set for grid.";
}
const inputElement = $(inputSelector).keypress(function (this: HTMLElement, e) {
const keycode = (e.keyCode ? e.keyCode : e.which);
if (keycode === 13) {
searchFn($(this));
}
});
$(clickSelector).click(e => {
searchFn(inputElement);
});
}
private search(inputElement: JQuery<HTMLElement>) {
const options = this.grid.options;
const dsOptions = this.dataSource.options as kendo.ui.GridScrollable; // HACK: dataSource.options isn't really a GridScrollable, but it's similar
let searchFields: string[] | any = options.search ? options.search.fields : null;
let expression: kendo.data.DataSourceFilters = {
filters: [],
logic: "or"
};
const value = inputElement.val();
if (!searchFields) {
searchFields = getColumnsFields(options.columns);
}
// NOTE: Thankfully we don't use endless
if (dsOptions.endless) {
dsOptions.endless = null;
//(this as any)._endlessPageSize = this.dataSource.options.pageSize;
}
if (value) {
for (let i = 0; i < searchFields.length; i++) {
expression.filters.push({
field: searchFields[i],
operator: "contains",
value: value
});
}
} else {
expression = {};
}
this.dataSource.filter(expression);
// from Telerik:
function leafColumns(columns: kendo.ui.GridColumn[]): kendo.ui.GridColumn[] {
/* Hiding ... go see Telerik source code */
}
function getColumnsFields(columns: kendo.ui.GridColumn[]): string[] {
/* Hiding ... go see Telerik source code */
}
}