Hello,
I'm evaluating kendo grid before purchasing. I'm trying to replace the open source ui-grid in my app to Kendo Grid.
I'm facing a performance problem when trying to replace the row template of the grid to create a "card-view" to the table.
The row template's structure is like this:
<tr data-uid="#= uid #">
<td colspan="100" style="padding: 0px">
<directive item="dataItem"></directive>
</td>
</tr>
"directive" is a complex directive who has inner directives with user interaction, logic, etc.
the rendering performance of 200 items is unacceptable.
trying to use virtual scrolling and render only 15 items at a time, causes unsmoothness in scrolling, as the next page is rendering.
I tried it with kendo ListView as well, but no virtualization there, only paging, and I don't want separate pages.
The open source ui-grid I want to get away from, renders the same template/data settings seamlessly + no delay in scrolling.
What's the best approach to solve this, if any? sadly for me it is a deal-breaker.
Hello,
I am trying to create a custom directive that will be placed in a DropDownList component. In the constructor of the directive I would like to get a reference of the host DropDownList component.
Here is my code:
import { Directive, ElementRef } from
'@angular/core'
;
import { DropDownListComponent } from
'@progress/kendo-angular-dropdowns'
;
@Directive({
selector:
'[trackDDLChanges]'
})
export class TrackDDLChangesDirective {
ddl: DropDownListComponent;
constructor(elem: ElementRef) {
this
.ddl = elem.nativeElement; <-- how to get the reference of the component?
}
}
I am using it as:
<
kendo-dropdownlist
[data]="statuses"
[(value)]="value"
[valuePrimitive]="true"
[textField]="'name'"
[valueField]="'id'"
(valueChange)="statusChanged()"
[trackInputChanges]="'some data'" >
</
kendo-dropdownlist
>
I could not find anything in the documentation. ElementRef gives me the html element, but I cannot find a way to convert it into the corresponding component.
In the previous version of kendo we could do:
$(elem).kendo(
'kendoDropDownList'
)
to get a reference to the widget.
Is there something similar available in this version?
Thank you.
i have upgrade kendo files to the Ver:2016 R2 from Ver:2013, it giving error 'Error: Unable to get value of the property 'removeClass("k-state-expanded")': object is null or undefined' when i have bind grid from empty Array on client side.
this error was not coming in ver:2013 & the following above mentioned class was not present in this version. i am using trial version.
Any help would be appreciated
How would you declare an ObservableArray in a TypeScript interface?
I would like to define interfaces for the json data that is going between the web app and the server.
Thanks
-marc
Hi,
I have a TabStrip and in one Tab is a Grid. At the beginning the Grid is looking good. But afer changing to another tab and back the paging buttons are looking weird.
This happens in the IE and Edge but not in Firefox. Firefox is unfortunately not the Standard browser in my Company.
I reproduce my question in this demo: http://jsbin.com/yoxepe/edit?html,console,output
The <span ng-bind="text"> inside KendoWindow is bound to main scope's text property. We can change <input ng-model="text"> and see the text of button changing too. I use these code to get the scopes behind both <span> and <input>, but the scope() result of span inside KendowWindow return undefined.
$scope.test =
function
() {
console.log(
'angular.element("#spnBtnText").length='
+ angular.element(
"#btnTest"
).length);
console.log(angular.element(
"#spnBtnText"
).scope());
console.log(
'angular.element("#txtTest").length='
+ angular.element(
"#spnTest"
).length);
console.log(angular.element(
"#txtTest"
).scope());
};
result:
"angular.element(\"#spnBtnText\").length=1"
undefined
"angular.element(\"#txtTest\").length=0"
[object Object] {
$$applyAsyncQueue: [],
$$asyncQueue: [],
$$childHead: null ....
Why angular.element().scope() doesn't work inside KendoWindow?
I would like to be able to do custom server side filtering based on the text that the user types into the combobox instead of only relying on oData filtering.
(I'm currently using web api with odata)
Is there any way to get the text from the combox in angular.
I've tried setting ng-model to a scope var, but it only changes when the selected item is changed, not when user types something.
Can something like this be done?:
read: {
url:
"/api/Items/searchItemThumbs"
,
// <-- Get data from here.
dataType:
"json"
,
// <-- The default was "jsonp".
data: { text: $scope.comboText }
},
Hello,
I am forced to use AngularJs Version 1.5.8 because of Angular Material compatibility. Kendo is delivered with angular version 1.4.6.
When using kendo with AngularJs 1.5.8 I have a compatibility problem with the ObservablyArray and ng-repeat. Everything seems to work well except with an empty array. If the array is empty ng-repeat produces 3 empty rows when applied to a list as in the following code. With the older angular version 1.4.6 which comes with kendo that does not happen. Is it recommended at all to use angular version 1.5.8 with kendo? What can I do if I need both AngularJS and Angular Material in my kendo application and henceforth the latest angular version?
<body ng-app="myApp" ng-controller="myController">
<ul>
<li ng-repeat="t in testArr">{{t.x}} : {{t.y}}</li>
</ul>
<script>
angular.module('myApp',['kendo.directives']).controller('myController', ($scope)=>{
$scope.testArr = new kendo.data.ObservableArray([]);
});
</script>
</body>