Hi,
I am having an issue when trying to access the Header property of dynamically generated columns on an igx-grid.
When creating the following grid with an ngFor for the columns:
Using this data:
I get the following grid, which is exactly what I want (row data is unimportant for this demo):
However, I want to be able to use the column's header to perform some functionality when I select a cell. I use the following function to display the column object:
But when selecting anything from any column (in this example, the first cell in the 'column 2'), the console returns the following:
Investigating further, just receiving the column returns the column object and, right enough, the header is incorrect:
It seems that in dynamically generated columns, even though the headers are visibly set, selecting the cell does not return the correct column header, instead defaulting to the first one.
Can you propose a solution to this problem?
Thanks!
Adam Drew
Hello,
I have been looking into your question and prepared a small sample in order to test the behavior.
After an investigation, I have determined that the issue is because the columns' fields are not set.
The header property of the columns is the text displayed in their header area, however, setting the field is actually binding the column to a certain field in the data source.
After the field of the column is set properly, everything seems to work as expected on my side and the correct header value is returned.
Here could be found my sample for your reference. Please test it on your side and let me know if I may be of any further assistance.
Sincerely,Teodosia HristodorovaSoftware Developer
Thanks for the response.
So I didn't set the field in my demo example, however in my actual project I had done, so that was an oversight for me. The only difference in my actual project is that the field that's being set is an object, rather than a string. This is necessary because it is a hierarchical grid and the expanded data for the row island stems from this object - the actual cell value is determined in a template, which works correctly.
So the field and header are both determined but when I look at the column data, all the generated columns are set to the same heading - the first one generated. Does this make sense? I can provide an example if necessary but I'd have to construct it through a demo as the data in the actual project is sensitive.
Adam