Hello,
I'm currently trying out igniteui grid and I'm trying to display a directory structure. I don't know how many levels there are in the directory structure.
My model contains the following objects:
public class Server{ public string ServerName { get; set; } public List<Directory> Directories { get; set; }}
public class Directory{ public string DirectoryName { get; set; } public List<Directory> Directories { get; set; }}
I'm using the following grid model:
var model = new Infragistics.Web.Mvc.GridModel();model.AutoGenerateColumns = false;model.Columns.Add(new GridColumn("Server Name", "ServerName", "string", "120px"));var directoriesLayout = new GridColumnLayoutModel{ Key = "Directories", AutoGenerateColumns = false,}directoriesLayout.Columns.Add(new GridColumn("Directory Name", "DirectoryName", "string", "800px"));directoriesLayout.ColumnLayouts.Add(directoriesLayout); ***HERE IS THE PROBLEM***model.ColumnLayouts.Add(directoriesLayout);
Unfortunately, the following exception occurs: An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll
I'm assuming that the grid has trouble with the recursive nature of the datasource. In WinGrid I was used to set the MaxBandDepth property to tell the grid how many bands should be loaded. But I cannot find a similar property in igGrid.
Please advice,
Michael
Hi Michael,
It seems like the line you have highlighted is causing an infinite loop and thus an exception is thrown. I would suggest you to try setting autoGeneratedLayouts to true and see if it works.
Please let me know if this helps.
Hi,
I'm just checking if you need any further assistance with the matter.
Hey Nikolay,
Thanks for the reply.I'm not sure your solution helps me further. I know that the highlighted line is causing an infinite loop.
I would rather not enable autoGenerateLayouts because I like to control what is being displayed and what is not. In a situation where autoGenerateLayout is disabled, how would I display an "infinite" recursive datasource ? In WinGrid I was used to set the MaxbandDepth to tell the control how many levels should be displayed. That setting would stop the infinite loop. Is this feature available for igGrid and if not would I be able to make a feature request for the future ?
I have implemented a workaround in my application and it works now, so if there is no such feature in igGrid, you can help me make a feature request.
Thanks
You can suggest new product ideas for future versions (or vote for existing ones) at http://ideas.infragistics.com.
There are many benefits to submitting a product idea:
- Direct communication with our product management team regarding your product idea.
- Notifications whenever new information regarding your idea becomes available.
- Ability to vote on your favorite product ideas to let us know which ones are the most important to you. You will have ten votes for this and can change which ideas you are voting for at any time.
- Allow you to shape the future of our products by requesting new controls and products altogether.
- You and other developers can discuss existing product ideas with members of our Product Management team.
Steps to create your idea:
Log into the Infragistics Product Idea site at http://ideas.infragistics.com (creating a new login if needed).
The Product Idea site puts you in the driver’s seat and allows you to track the progress of your ideas at any time, see how many votes it got, read comments from other developers in the community, and see if someone from the product team has additional questions for you.
Let me know if you have any other questions.