Version

Known Issues and Limitations (igHierarchicalGrid)

Known Issues and Limitations Summary

The following table summarizes the known issues and limitations of the igHierarchicalGrid™ control. Detailed explanations of known issues and the possible workarounds are provided for some of the issues follow the summary table.

Legend:

Workaround available
No known workaround
Fix planned

igHierarchicalGrid

Issue Description Status
Screen taps misinterpreted on Android 4.* devices On Android 4.*-powered touch devices tapping on the drop-down in the Group By modal dialog in a hierarchical grid will often act on the grid cell behind the modal dialog.
Rendering issues in the hierarchical grid when features are referenced in a particular order The igHierarchicalGrid’s child layouts may have rendering issues if the Row Selectors feature is added after the Group By feature to the feature list.
Limitation for the primary key values igHierarchicalGrid uses primary key value of the parent layout to create child layout <div> element with unique id attribute (according to the HTML5 specification space charactersmust not be used in the id attribute value). When the primary key values contain invalid characters the DIV element cannot be selected with the jQuery ID selector.As a result features on the child grid may not work as expected. Example: Opening filter dropdown on child grid causes an exception.
Self-reference not working in MVC If you want to bind an igHierarchicalGrid to self-referencing data, the MVC pattern will not allow you to do this because of limitation in serializing.
Load-on-Demand not working with chaining It is not possible to enable Load-on-Demand in the View page of your MVC project.
Load-on-Demand without primary keys for the layouts throws an exception If you enable the Load-on-Demand feature and do not define primary keys for all child layouts, an exception will be thrown.
Some child layout columns are hidden or cut out When an igHierarchicalGrid has no width defined and the child layout has width that exceeds the width grid, some of the child’s columns will be cut or hidden.
Defining a feature more than once not possible In JavaScript: In both igGrid and igHierarchicalGrid, defining a feature more than once throws an error. In MVC: In both igGrid and igHierarchicalGrid, defining a feature more than once in the MVC Wrapper, causes only the last definition to be taken into account.
Client-side binding to XML Binding to XML is supported only for recursive schemas.
When Load-on-Demand is false persistence is not working for the child layouts When Load-on-Demand is false remote Filtering, Sorting or GroupBy are not persisted for the child layout. The persist option is automatically set to false for those features in this scenario.
The id attribute is mandatory for the DOM control placeholder The id attribute should be set on the DOM element on which the grid is initialized. Grid use jQuery ID selector internally for faster selection.
Column keys which contain spaces are not supported Column keys are used for generating some DOM elements IDs. Having spaces in an HTML id attribute is not allowed according to the HTML 5 specification.
Using virtualization with initialExpandDepth is not supported Currently when virtualization is enabled all rows are fetched as collapsed. Setting initialExpandDepth will have no effect.

igHierarchicalGrid GroupBy

Issue Description Status
Limitation of remote grouping in hierarchical grid Grouping columns from more than one layout (or from the root grid) does not work with remote grouping.
Erroneous remote grouping with Load-on-Demand If remote Group By is enabled with Load-on-Demand for the entire grid, the groups are incorrect unless you modify the action that returns the data that is being loaded on demand.
Exception thrown when the Group By feature defines column settings together with enabling inheritance If you enable the Group By feature and, in it, attempt to both define column settings and enable inheritance, a page exception will be thrown.
Limitation of remote grouping from different child layouts When Load-on-Demand is disabled grouping columns from different child layouts with remote group by will invoke the parent's DataSourceUrl instead of the DataSourceUrl of the child.

igHierarchicalGrid RowSelectors

Issue Description Status
Row Selectors works on only one layout at a time The Row Selectors’ feature checkboxes selected in one layout become deselected when user checks the checkboxes in another layout.

igHierarchicalGrid Tooltips

Issue Description Status
Tooltips are not shown for child layout when options for Tooltips are different in child and root options definition This is no longer supported as all Tooltips instances in an hierarchical grid will use the same DOM elements (to reduce DOM complexity).

igHierarchicalGrid Updating

Issue Description Status
Done/Cancel buttons are cut off for child layouts when their height is too small Certain configurations and use-cases allow for child layouts with small heights that makes positioning floating elements outside the visibility-critical elements impossible.

igHierarchicalGrid


Issue Description Workaround
Screen taps misinterpreted on Android 4. devices On Android 4.-powered touch devices tapping on the drop-down in the Group By modal dialog in a hierarchical grid will often act on the grid cell behind the modal dialog. Set the modalDialogDropDownWidth and modalDialogDropDownAreaWidth properties to values which ensure that the drop-down in the modal dialog is wide enough to show the whole layouts tree, or you just set those settings to null.
The <div> element of child layout cannot be selected with the jQuery ID selector There can be two different workarounds depending on whether the Updating feature is enabled or not. If the updating feature is not enabled: Remove the primaryKey option from the grid configuration. The igHierarchicalGrid will auto-generate primary keys for the data rows. If the updating feature is enabled:Add an extra field to each layout of the igHierarchicalGrid data source and use it as a primary key. You can fill this field with sequential numbers.
Rendering issues in the hierarchical grid features are added in a particular order In the igHierarchicalGrid, child layouts may have rendering issues (missing or misaligned columns) if the Row Selectors feature is added after the grouping feature to the feature list. To avoid this, add the Row Selectors before grouping in the array.
Load-on-Demand not working with chaining It is not possible to enable Load-on-Demand in the View page of the MVC project. Either create the hierarchical model in the Controller or create a model class and then pass that class to the View page.
Load-on-Demand without primary keys for the layouts throws an exception If you enable the Load-on-Demand feature and do not define primary keys for all child layouts, an exception will be thrown. This is because, without a primary key for a layout, it is not be possible for the grid to make the Load On Demand request for data. It’s always a good practice to define the primary and foreign keys for every layout.
Some child layout columns are hidden or cut out When an igHierarchicalGrid has no width defined and the child layout has width that exceeds the width of the grid, some of the child’s columns will be cut out or hidden. It’s always a good practice to set width to the igHierarchicalGrid. This would allow for a horizontal scroll bar to appear if the child layout is wider than the grid width.

igHierarchicalGrid GroupBy


Issue Description Workaround
Limitation of remote grouping in hierarchical grid Grouping columns from more than one layout (or from the root grid) does not work with remote grouping.
Use local group-by: This circumvents the problem entirely. Use remote group-by: When using remote grouping, only group columns from one layout (or the root grid).
Erroneous remote grouping with Load-on-Demand If remote Group By is enabled with Load-on-Demand for the entire grid, the groups are incorrect unless you modify the action that returns the data that is being loaded on demand.
When implementing the action method that returns the data requested on demand, set the type of the returned result to be GridColumnLayoutModel (and not GridModel). The code below demonstrates how to do it.
In C#:
public JsonResult BindChildLayout(string path, string layout)
{
    GridColumnLayoutModel childLayout = new GridColumnLayoutModel();
    …
    return childLayout.GetData(path, layout);
}
Exception thrown when the Group By feature defines column settings together with enabling inheritance Exception is thrown when the Group By feature defines column settings and enables inheritance at the same time. This issue occurs in an MVC solution with a grid using chaining approach in the MVC View page. If you enable the Group By feature and, in it, attempt to both define column settings and enable inheritance, a page exception will be thrown. Instead of defining both column settings and enabling inheritance in the Group By feature, in the Group By feature disable inheritance and then manually define the same Group By settings in every child layout.
Limitation of remote grouping from different child layouts When Load-on-Demand is false the DataSourceUrl of the child layouts are not taken into account. Enable Load-on-Demand functionality.

igHierarchicalGrid Updating

Issue Description Workaround
Done/Cancel buttons are cut off for child layouts when their height is too small Certain configurations and use-cases allow for child layouts with small heights that makes positioning floating elements outside the visibility-critical elements impossible. Use a CSS rule to give minimum height to all child layouts:
In CSS:
[id$=_child_container] {
    min-height: 100px;
}

Related Content

Topics

The following topics provide additional information related to this topic.

Resources

The following material (available outside the Infragistics family of content) provides additional information related to this topic.

View on GitHub