Hi,
I am using Ignite 13.1 (recently upgraded from 12.2), and a new bug has appeared with the grid.
The grid in question is locally data bound (json) with the paging feature turned on.
When filtering is performed on the data set the page size drop down is removed. It is replaced with a description of the search results, such as '13 matching records'. See the attached image for an example of this.
This text is actually duplicated, it appears on the left and right side of the bottom bar.
We have logic that loads new data into this grid based on selections from other external combo boxes.
This is bound with js:
grid.igGrid("dataSourceObject", data);grid.igGrid("dataBind");
At the data bind event the paging feature is throwing an exception in its _injectGrid() function:
>cannot call methods on igEditor prior to initialization; attempted to call method 'option'
This if block is trying to set the page size on the unitialized igEditor. which causes the error (infragistics.ui.grid.paging.js):
if (this._pageSizeDD) { this._pageSizeDD.igEditor("option", "value", this.options.pageSize)}
For now I can work around this by turning off the page size dropdown. I do want to use the feature though.
Thanks,Chris
I forgot to specify, we are using:
-jquery-2.0.1
-jquery-ui-1.10.3
Hello Chris,
Thank you for contacting Infragistics!
I have created the attached sample and I have been unable to reproduce this issue. When I filter the page size dropdown remains unobstructed. I have removed the scripts from the sample due to file size for attaching to the forums. What version of v13.1 are you using? Do you have a sample that reproduces this issue?
Sincerely, Mike P. Developer Support Engineer II Infragistics, Inc. www.infragistics.com
Hi Mike,
I can verify that your example does work.
I think I tracked down the cause. The order in which the two features execute makes a difference.
If you switch the feature definition to have the paging first and the filtering second the problem is reproduced:
features: [ { name:"Paging", type: "local", pageSize: 5, pageSizeDropDownLocation: "inpager", }, { name: "Filtering", }, { name:"Selection", mode:"row", multipleSelection:true, activation:true } ]
In the _dataRendered() function of 'ui.igGridFiltering', this selector selects both the page size dropdown and the results message on the left side of the bottom bar. Later in the function this selector is used to render the results message into both containers instead of just the one on the left:
summary = this.grid.container().find(".ui-iggrid-footer .ui-iggrid-results")
If filtering is after paging in the feature array the change overwrites what the paging feature had rendered. When paging is second it doesn't matter because it overwrites the mistake.
I changed the ordering of the features and it has fixed my issue.
In the past I have done: Filtering > Sorting > Paging, in that order because of certain issues I had with remote data sources. I will stick to this ordering as it seems to be the most stable.
Is there an established order they should be added in? Or could IgniteUI invoke them in this order on its own without regard to what order they are in the array?
Thank you for the update. I have put the paging behavior in front of the filtering and I have still been unable to reproduce this issue. What browser are you using? What version of the browser? Do you have an isolated sample that reproduces this behavior? Order the behaviors are created in shouldn’t make a difference.
I am following up to see if you can provide me with answers to my questions. Please let me know if I may be of further assistance with this matter.