Hello,
I am using an Ignite Grid in an angularjs application and would like to have template columns with buttons using ng-click to trigger angularjs code. I got this working with the help of Damyan by running $compile on the dataRendered event of the grid. It was working fine but now as the number of rows grows I had to activate virtualization for things to remain usable. Now the dataRendered event does not seem to be triggered when virtualization renders new rows. I also tried the rowRendered event which seems to not be called at all.
So my question is which event could I listen to so I can run $compile for newly virtualized rows and thus make the ng-click work again.
Thanks for helping me on this.
Hi ruud7,
Which virtualization are you using: fixed or continuous? Could you send me an isolated sample that replicates your issue in order to test it on my side?
Waiting for your reply.
Regards,
Tsanna
Hello Tsanna,
thanks for your reply.
I'm using continuous virtualization but it doesn't make any difference if I use fixed virtualization.
I tried to write an isolated sample. This is actually pretty far from my actual solution (for example I'm using the ignite angular directives) but it shows how the virtualization results in the ng-click no longer being bound once you scroll down several records. I added a button calling $compile so it is bound again. Now of course I don't want to have that button but instead some event from the grid that i can use to call the $compile once virtualization rerenders the rows.
Here is the JSFiddle with my sample: http://jsfiddle.net/jkmLqkeb/4/
BR
Hello ruud7,
Please note that there is no event from the public grid API that will be called on virtual scrolling, hence your template button click won't be triggered once you scroll down. However there is a private event related to virtual records rendering, which fires on each subsequent bunch of rows that loads on demand. The event is called 'virtualrecordsrender' and could be defined and used within the grid initialization, for instance:
$("#grid").igGrid({... virtualrecordsrender: function (e, args) {...}...});
Since this event is not exposed in the public grid API, you may submit a new product idea for this to be included in future versions at: http://ideas.infragistics.com
Steps to create your idea: 1. Log into the Infragistics Product Idea site at http://ideas.infragistics.com (creating a new login if needed).2. Navigate to the product / platform channel of your choice (e.g. WPF, Windows Forms, ASP.NET, HTML5 / Ignite UI, iOS / NucliOS, etc.)3. Add your product idea and be sure to be specific and provide as much detail as possible. • Explain the context in which a feature would be used, why it is needed, why it can’t be accomplished today, and who would benefit from it. You can even add screenshots to build a stronger case. Remember that for your suggestion to be successful, you need other members of the community to vote for it. Be convincing!• [CASE: “Reference case [case number], FORUMS: “Include a link to this thread”] in your idea so product management will be able to look back at this case.
If you have further questions, please let me know.
I have integrated the ignite tree grid in my application. I have turned the "virtualization" on with "continuous" mode with one column fixed. I am facing an issue which is also related to some virtualization render row function, but i need an event which is called when new rows are started to load in the grid the method " virtualrecordsrender" is called when rows are completely loaded in the grid but i need a method which is called when rows are calculated/started for loading in grid. I need this because when i scroll down with keyboard the scroll bar in fixed column moves down and the scroll in unfixed column is halted because of new rows to be loaded and this will misaligned the fixed and unfixed rows , this issu is mention on known issues and limitation page of ignite documentation but for IE9 and higer version and i am facing this issue in all browsers like chrome ,safari, firefox.