Hello!
I would like to find the page that a specific row is on, move to that page, and then scroll the grid to that specific row with it selected.
It seems this isn't natively supported yet, so I'm trying to implement it myself.
My steps are thus:
1. Run my data through the filterBy and orderBy functions to obtain all the rows in the order they will appear in the grid. (i do this using the grid's current filter and sort state).
2. Take the array of results from step 1 and call findIndex to find the index of the specific row I am interested in.
3. Update the gridState.skip setting to the index found in step 2.
4. Run my data through process using the gridState from step 3.
5. Update my bound observable with the processed data.
My result however is that the page does not change as expected. For example, my grid is sorted by the first column and the first row is selected and when I click the column header to reverse the sort direction I am expecting the page to change to the last page and the first row to then be the last row on that page.
Does my approach seem correct?
Thanks,
Marvin
I've got a bar chart and I would like to display different label than value, but I don't know how to do it. Tried with [name] property for the <kendo-chart-series-item>, but that does not work - it just show the legend next to chart itself, and I'd like to keep label on the bar.
My code:
<kendo-chart-series>
<kendo-chart-series-item
*ngFor="let item of series"
[data]="item.data" // <--- array of numbers, I'd like to replace number with string
[type]="item.type"
[color]="item.color"
[border]="{
width: 0
}"
>
<kendo-chart-series-item-labels
[background]="item.background || 'rgba(255, 255, 255, 0.5)'"
[position]="item.labelPosition"
[visible]="!!item.labelPosition"
></kendo-chart-series-item-labels>
</kendo-chart-series-item>
</kendo-chart-series>
I think I found an issue with some internals not refreshing properly in certain cases. Have a look at the attached GIF. The "Specify in which order the files are to be associated to target(s)" part at the bottom is tied to
checkedKeys.length > 0
When the condition is met, the part appears. It seems that when I click "Image Files", only this item is added to checkedKeys, not it's children, even though when I expand "Image Files", the children are indeed checked then the bottom part appears (The part on the bottom filters out parent items, such as "Image Files")
Is there any config that I'm missing ?
Here's the tree view related code
<kendo-treeview #assetTree *ngIf="treeDataLoaded" [nodes]="treeData"
textField="text"
(checkedChange)="checkedChange($event)"
[hasChildren]="hasChildren"
[children]="fetchChildren"
[(checkedKeys)]="checkedKeys"
checkBy="text"
kendoTreeViewCheckable
kendoTreeViewExpandable>
<p *ngIf="filterKeys().length > 0">Specify in which order the files are to be associated to target(s)</p>
<div class="row" style="padding-left: 15px;">
<div class="col-md6">
<ul class="list-group" id="sortable">
<li [attr.data-item]="asset" class="list-group-item" *ngFor="let asset of filterKeys()">{{asset.fileName}}</li>
</ul>
</div>
</div>
public hasChildren = (item: TreeViewRootItem) => item.items && item.items.length > 0;
public fetchChildren = (item: TreeViewRootItem) => of(item.items);
public checkedKeys: any[] = new Array();
public sortedKeys: any[];
public get checkableSettings(): CheckableSettings {
return {
checkChildren: true,
checkParents: true,
mode: "multiple",
checkOnClick: false
};
}
And this is the code that filters out parent items. When I check a collapsed node (Image Files) checkedKeys is only populated with "Image Files", and not it's children. When I expand "Image Files", then the console.log below outputs "Image Files" AND its children.
filterKeys(): Asset[] {
console.log(this.checkedKeys);
let results: Asset[] = new Array();
this.checkedKeys.forEach(ck => {
let exist = this.assets.find(a => a.fileName == ck);
if (exist)
results.push(exist);
});
return results;
}
public DataSourceResult TestEndpoint([DataSourceRequest] DataSourceRequest request)
{
IEnumerable<Object> myData = null;
return myData.ToDataSourceResult(request);
}
Hi,
I am having issue with filtering in dropdownbox. the dropdownbox ultilizes virtualization and has 7000 rows of data.
please see below pictures for details
Step 1: work perfectly - filter by "te"
Step 2: work perfectly - filter by "tee"
step 3: fail - filter by "te" - remove "e"
my code
<kendo-combobox name="combobox" [data]="filterData"
[allowCustom]="true" [filterable]="true" (filterChange)="handleFilter($event)"
[valuePrimitive]="true" [textField]="dropDownTextField" [valueField]="dropDownValueField"
[readonly]="myReadOnly" [required]="myRequired"
[virtual]="virtualDropDownList">
</kendo-combobox>
Thank you
I have a dropdown within a for loop that looks like this:
<kendo-dropdownlist
[name]="'Type_Name_' + index"
[data]="this.types"
[textField]="'name'"
[valueField]="'id'"
[ngModel]="{
id: UserInfo.TypeId,
name: this.types[UserInfo.TypeId].name
}"
(selectionChange)="onTypeChange($event, UserInfo)"
>
<ng-template kendoComboBoxItemTemplate let-dataItem>
<span [title]="dataItem.name">{{ dataItem.name }}</span>
</ng-template>
</kendo-dropdownlist>
types: any = [];
The types are pulled from the DB and look like this:
[
{
"id": -1,
"name": "Select"
},
{
"id": 1,
"name": "A type"
},
{
"id": 2,
"name": "Another Type"
}
]
The dropdown loads ok. But when I choose the value "Select" which is -1 the whole dropdown disappears.
Similarly because this is in a for loop I allow more dropdowns to be dynamically added.
When I dynamically add them with a value of -1 they don't appear. When I add them with a value of 0 they do appear.
I'm constricted to use -1 as the start value.
Hi,
I used a pie chart and when click different series would call seriesClick event. How to get color of the series I click? The pie color is default and I did not set color for the chart. Thank you.
Hi,
I am using kendo angular grid . angular version(12).We have a grouping feature in the grid , using groupfootertemplate it loads some description for the group.
Issue
Lets assume we have 20 records overall. This is grouped based on a field and in result we get 2 groups with 15 and 5 items respectively. I should populate the group footer template after the last item of each group. Here the pagesize is set as 10 items per page. But what we are observing is ,
in the first page ,after 10th element a group footer is populated and one in the second page after 5th element(first group's last record ie 15th) and the final one after last element of second group. So overall 3 footertemplate is being populated
Requirement
I should see the groupfootertemplate only after last record of group .ie in the first page I dont want the groupfootertemplate. Only after the 15th record and 20th record I should populate the groupfooter template. So in total there should be 2 group footer template insted of 3
Hi
My page contains a kendo drawer. and I set a custom icon to the drwer item. I uploaded the icons on my server and pass the icon name and location at run time. The con is not shown. this is my code
}