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")
The data for the project is in MS SQL and we have a class library that retrieves the data and returns the table. Creating a sample project to post will take me a considerable amount of time which is not practical at this time. I have resorted to using a different tree component.
I will however revisit this when time constraints are not a problem. As you noted from my code, I am telling it to use a field but it is using a different field. As you said, in Gridview I can see all the fields and I know they are there. but in Outlook express or Standard view, it will only show the second column. No matter what column I tell it.
imagehq said:The data for the project is in MS SQL and we have a class library that retrieves the data and returns the table. Creating a sample project to post will take me a considerable amount of time which is not practical at this time. I have resorted to using a different tree component.
There's no reason why a small sample project would need to access your real data. You could create some fake data using something like a DataTable in memory, or an UltraDataSource. But I understand if time does not permit this, either.
I have a sample project Now. How do I attach a file to this post?
I have uploaded the file under my profile. I hope it is accessible.
The file is called uTree.zip and is a vb.net project using 2010.1
You will notice I am trying to show the TaskName in the childnode which is the last column but this is not happening
i am not able to see your attached zip file. can you help me how to get the same?
Thanks