Monday, May 2, 2011

Xml to gridview

Step 1: Create test.xml 

'

Step 2: Create aspx page and add gridvew in it, in which you want to load XML


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="XML.aspx.cs" Inherits="ParentChildGridView.Example.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:GridView ID="GridView1" runat="server" BackColor="White" AutoGenerateColumns="False"
            BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" 
            ForeColor="Black" GridLines="Vertical">
            <RowStyle BackColor="#F7F7DE" />
            <Columns>
            <asp:BoundField DataField="Company" HeaderText="Company" SortExpression="Company" />
            <asp:BoundField DataField="Profile" HeaderText="Profile" SortExpression="Profile" />
                <asp:TemplateField HeaderText="Delete">
                    <ItemTemplate>
                        <asp:ImageButton ID="ImageButton1" runat="server" 
                            ImageUrl="~/Example/trash.gif" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            <FooterStyle BackColor="#CCCC99" />
            <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
            <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
    
    </div>
    </form>
</body>
</html>


Step 3: Code Behind

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml;

namespace ParentChildGridView.Example
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            DataSet dsStore = new DataSet();
            dsStore.ReadXml(Server.MapPath("test.xml"));
            XmlDocument objDoc = new XmlDocument();
            objDoc.LoadXml(dsStore.GetXml());
            DataTable dt = new DataTable();

            DataColumn dc;
            dc = new DataColumn("Company");
            dt.Columns.Add(dc);
            dc = new DataColumn("Profile");
            dt.Columns.Add(dc);

            DataRow dr;

            XmlNodeList objNodeList = objDoc.SelectNodes("/root/Personalabc/Name/Job_Experience");
            foreach (XmlNode objNode in objNodeList)
            {
                //Response.Write(objNode.InnerText + "<br/>");
                dr = dt.NewRow();
                dr["Company"] = objNode.ChildNodes[0].InnerXml.Trim();
                dr["Profile"] = objNode.ChildNodes[1].InnerXml.Trim();
                dt.Rows.Add(dr);
            }

            GridView1.DataSource = dt;
            GridView1.DataBind();
        }
    }
}




No comments:

Post a Comment