I have tried for 7 hours to change my child node column to no avail.
I have a Tree bound to a datasource with a relationship. The root node displays the correct column from the datatable but the child node is displaying the second column from the relationed. Sadly this column is the foreignkey for my relationship. How do I get the child node to display the 3rd column instead?
I am using outlookexpress viewmode here.
I have in my primary table :- IndustryID, IndustryName, Note, Rating
and my secondary table :- SkillID, IndustryID, SkillName, Note
Relationship is based on the IndustryID
My tree shows the Root node (IndustryName) and ChildNode(IndustryID). I would like the child to show SkillName.
sample code will go a long way here.
Hi,
The child nodes will display in a grid style by default and thus it will show all of the fields of the child data, not just one field. It sounds like you have set it up in such a way that the child nodes show in Standard mode - so there's no grid, they just show up as nodes with text.
When a bound node displays in Standard style, it will default to displaying the first field in the data as it's text. To change this, you have to set the NodeTextColumn property on the ColumnSet which is applied to those nodes. If you are manually creating your ColumnSets, then you would set it there. If you are letting the tree auto-generate the ColumnSets, then you could do this in the ColumnSetGenerated event.
Yes I am using standard/ outlookexpress not grid.
I have tried the NodeTextColumn and I am only able to change the display field for the root node. I can't find reference to the childnode.
I did notice that the ColumnSetGenerated gets fired twice. Once for the Primary table and a second time for the relationship table (which is identical in schema to the primary table).
My temporary workaround just now is to change the ordinal position of the column in my datatable before passing it to the list. but this is not ideal and presents a management issue.
this is the line I use for the parent node in ColumnSetGenerated;
e.ColumnSet.NodeTextColumn = e.ColumnSet.Columns("Industry")