We are in _desparate_ need of a way to implement an 'expand all' function for grids with masterDetail facets.
We don't have any multi-layer nestings... just a single layer. How can we solve this problem?
Is there a way to do this with a bit of custom Javascript (which I'm not afraid of)? I've tried a few things, but calling some of the same Javascript functions in [seemingly] the exact same way as the stock implementation doesn't work as I would expect.
The particular scenario where this is most needed won't typically see more than 4 or 5 rows in the parent grid, so we'd only need to expand that many rows. I can see where if there were several dozen (or hundred) rows, there'd be a significant performance hit from all the AJAX calls/traffic.
Is there a way to set the rows expanded in the Java on a GridView object, maybe? Anything...?
PLEASE HELP!
Hi:
THe best thing to do is submit a developer support request. The DS people wil help you more quickly and efficiently than anything else.
You can contact them through this page: http://ko.infragistics.com/support/default.aspx#Overview
However, it sound slike you're on the right track. Since the row expand/collapse is handled via Jaascript/AJAX writing a few lines of custom code should definitely get you what you want.
What happens with the code you've tried? Have you examined it with firebug for example?
The other approach is to bind the grid to a server-side grid object and then manipulate the row states from there. this is definitely more work.
Best,Jim
Thanks, Jim. I have tried to copy the Javascript from the nested grid image's onclick event handler, and just use it stand-alone to expand the row. Here:
<img ... onclick="return ig.grid.toggleRow(THE_ROW_TO_EXPAND) />
where THE_ROW_TO_EXPAND is the id (or ClientId in JSF parlance) of the row that should expand.
So, as a POC, I tried it at the end of the page, like this:
<script type="text/javascript">alert(ig.grid.toggleRow(THE_ROW_TO_EXPAND))</script>
I discovered this code by using Firebug (which I use religiously-- couldn't live without it), and I've even put debugger points in the igf_core, igf_ui, and igf_grid JS files. I can get execution into the toggleRow() function, and can follow it through with Firebug, but there's something critical missing, and I can't figure out that something is. The execution goes through all the same things that fire when I follow after using the 'real' expansion in the actual row, but when I fire toggleRow() stand-alone, nothing happens to the row that I want expanded, even though the call is [seemingly] 100% the same.
Admittedly, my JS skillz aren't superb, so I can see a potential "DUH!?" moment coming....
Thanks for the link, though... I think we'll try that, unless you have any other tips to throw out...