Posts

Showing posts from 2013

DataTable to TreeView in C#, Displaying Hierarchies

In this article I will show you how to display hierarchies in a TreeView control, when your data is in a DataTable. In this example we have an Employee table with 3 columns: ID, ParentID and Name.
ParentID is the ID of the boss for the current Employee.

The first step is to sort the table by the ParentID. This step is really important because we cannot insert a node in the tree until it's parent is not inserted. Notice the root of the tree having a ParentID of -1.

Here is the code for this:


The second step is to use a XmlDocument. The TreeView control does not have the functionality to find an arbitrary node given a node ID. A recursive find function seems to be too much hassle, not to mention the performance, so I decided to take advantage of the XPath search capabilities of XmlDocument to find a given Parent node.

Here is the code for this:


The third step is to hook up our data to the TreeView. If you try to bind the TreeView control to an XmlDocument you will get this error: Hi…

Sanitizer provider is not configured in the web.config file. Ajax Control Toolkit and HtmlEditorExtender problems.

Image
The Problem

Today I had a hard 2 hours, and if you have found this blog post, I bet we are in the same shoes.
I was working on a ASP .NET + windows azure project, and I needed the HtmlEditorExtender  control from the Ajax Control Toolkit. I was lucky to find a control for my needs. So far so good.
I've installed the toolkit with NuGet Package manager, it added a reference to the assembly to my web.config. I've used the following code where I needed the HtmlEditorExtender:


<ajaxToolkit:ToolkitScriptManagerrunat="Server"/><asp:TextBoxID="txtComments"TextMode="MultiLine"Columns="60"Rows="8"runat="server"/><ajaxToolkit:HtmlEditorExtenderTargetControlID="txtComments"runat="server"/></asp:Content>
Just to see how this control works. As you can bet ajaxToolkit is the reference to the assembly.
I've hit F5 and bam this uglyness showed up:


Details I've tried to search on the c…