Click here to Skip to main content
Click here to Skip to main content
Go to top

Bind XML TreeView with GridView/DataGrid

, 22 Nov 2006
Rate this:
Please Sign up or sign in to vote.
This sample code is used to populate XML data into a GridView with a TreeView format.

Sample screenshot

Introduction

This sample program is used to populate XML data into a GridView control in the format of a TreeView.

Just pass the XML document path and it automatically finds the root node and child nodes. When you click the root node, it finds the child node and displays on the grid vice versa.

Here is the function to find the root node:

public string FindParentNode(XmlDocument xmlDocument, string xPath)
{
    XmlNode xmlNode;
    xmlElement = doc.DocumentElement;
    xmlNode = xmlElement.SelectSingleNode(getXpath);
    NewPath = string.Empty;
    if (xmlElement.Name != xmlNode.Name)
    {
        do
        {
            ParentNode = xmlNode.ParentNode.Name.ToString();
            NewPath = "//" + ParentNode + NewPath;
            xmlNode = xmlElement.SelectSingleNode("//" + ParentNode);
        } while (xmlElement.Name != ParentNode);
        NewPath += getXpath;
    }
    else
    {
        NewPath = xPath;
    }
    return NewPath;
}

This function is used to find the root of the XPpath, and this path is assigned to the new XML path.

XmlDocument xmlDocument = new XmlDocument();
int j;
j = GetXMLPathList(@" E:\download\XML - Sathya\XMLSamples\XML\emp.xml");
PopulateDatas();

The above code is used to define the XML path. This single line will do the whole process of binding data into the GridView with tree format. The GridView control is similar to the TreeView control; you can expand and collapse the tree structure and find data.

This is my first article for CodeProject. Give me your ideas and suggestions about this code.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

RajaramanIndia
Web Developer
United States United States
Hi,
I have 5+ years of experience in Microsoft Technologies and have 2+ years of experience in .NET Technologies. Currenty I am woring in Visualsoft Technologies, Hyderabad and involed in Motorola projects. I feel in my carrier it's good projects. Because in this projects we are implementing the VS2005 and .NET 3.0 with Sqlserver 2005, also winfx.
SQL Server is my favourate subject, I was worked one ERP project as DBA. So it's was nice experience for me in SQL Server and
got BrainBench Certificate for .NET,DataBase and C#.
 

Comments and Discussions

 
GeneralMy vote of 1 PinmemberDmitri Nesteruk6-Jun-10 6:27 
GeneralHi Pinmembersaritha_codeproject12-Oct-09 23:15 
GeneralVB code needed Pinmemberabdallah22233319-May-09 1:25 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web04 | 2.8.140926.1 | Last Updated 22 Nov 2006
Article Copyright 2006 by RajaramanIndia
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid