I am trying to use TreeGrid's load on demand functionality as described here http://www.igniteui.com/tree-grid/load-on-demand
When the data source is set to a URL, it seems that my only option to pass some data to the server when a node is expanded is to rely on the autogenerated 'path' URL parameter, which lists a chain of row IDs up to the root, and also the node depth URL parameter. Is there any way to add any custom data to these calls besides what the widget does automatically? The data we are displaying is not homogeneous, so row IDs and depths are not sufficient when loading child rows.
Thank you!
Mike,
That partially resolved the issue, although the TreedGrid only loads the first level of nodes. When I expand a node, the console shows a 404 error, as the call is issued to /Home/null?path=... instead of /Home/GetTreeDataPlain?path=...
Here is the code:
var ds = new $.ig.TreeHierarchicalDataSource({ dataSource: '/Home/GetTreeDataPlain' }); $treegrid.igTreeGrid({ dataSource: ds, childDataKey: 'Employees', ... }); ds.dataBind();
Hello,
Thank you for the update. I have done some looking into this matter and instead of setting the dataSourceUrl you will want to set the dataSource, for example:
var ds = new $.ig.TreeHierarchicalDataSource({ dataSource: '/Home/GetTreeDataPlain', });
I tried attaching the project ZIP file to my reply from 2 different browsers, but would consistently receive a 404 error after the upload. Here is a link instead:
https://www.dropbox.com/s/n7j861h3zja1ce9/IgniteUI_TreeGrid.zip?dl=0
First, look at Controllers/HomeController.cs. It has a menthod, GetTreeDataPlain(string path) that generates random child employee data for a parent ID and returns a JSON object. Note that I am not using Infragistics server-side assemblies or attributes for parsing the request; I simply parse the autogenerated 'path' URL parameter value to the get the parent ID.
Next, look at the Views/Home/Index.chtml, it has the actual JavaScript code. Note that there are 2 methods that initialize the TreeGrid 2 different ways: initTreeGridUrl and initTreeGridDs. initTreeGridUrl works fine, and initTreeGridDs does not.
Choose at the bottom of the script which method to use when the page loads.
You can attach the sample to the forums by going to the Options tab when replying with an update. If you don’t want to share your code on the forums I can create a private case where you can upload the sample.
I certainly can. How and where do I submit my project?