In this artivle I m going to discuss how to use DataGridView in window form and how to bind data from the XML file.
Here I am using the following XML file. This file contains the record of some books.
 
XML File:
<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
          <book>
                   <SrNumber>1</SrNumber>
                   <Title>ASP.NET 2.0</Title>
                   <Price>100  </Price>
                   <Author>Puru  </Author>
                   <PublicationYear>1981  </PublicationYear>
          </book>
 
          <book>
                   <SrNumber>2</SrNumber>
                   <Title>Action Front </Title>
                   <Price>110  </Price>
                   <Author>Boyd Cable  </Author>
                   <PublicationYear>1989  </PublicationYear>
          </book>
 
          <book>
                   <SrNumber>3</SrNumber>
                   <Title>Abraham Lincoln </Title>
                   <Price>180  </Price>
                   <Author>James Russell Lowell  </Author>
                   <PublicationYear>1992  </PublicationYear>
          </book>
 
          <book>
                   <SrNumber>4</SrNumber>
                   <Title>Wisteria Lodge, The  </Title>
                   <Price>150  </Price>
                   <Author>Arthur Conan Doyle   </Author>
                   <PublicationYear>1983  </PublicationYear>
          </book>
 
          <book>
                   <SrNumber>5</SrNumber>
                   <Title>Club of Queer Trades, The </Title>
                   <Price>175  </Price>
                   <Author>Lowell  </Author>
                   <PublicationYear>2002  </PublicationYear>
          </book>
 
          <book>
                   <SrNumber>6</SrNumber>
                   <Title>Anthem </Title>
                   <Price>250 </Price>
                   <Author>Ayn Rand </Author>
                   <PublicationYear>1971  </PublicationYear>
          </book>
 
          <book>
                   <SrNumber>7</SrNumber>
                   <Title>Common Sense </Title>
                   <Price>250 </Price>
                   <Author>Thomas Paine </Author>
                   <PublicationYear>1969 </PublicationYear>
          </book>
 
 
          <book>
                   <SrNumber>8</SrNumber>
                   <Title>Damaged Goods </Title>
                   <Price>300 </Price>
                   <Author>Upton Sinclair       </Author>
                   <PublicationYear>2000 </PublicationYear>
          </book>
 
          <book>
                   <SrNumber>9</SrNumber>
                   <Title>Earth to the Moon  </Title>
                   <Price>50 </Price>
                   <Author>Jules Verne </Author>
                   <PublicationYear>1992 </PublicationYear>
          </book>
          <book>
                   <SrNumber>10</SrNumber>
                   <Title>Hard Times   </Title>
                   <Price>90 </Price>
                   <Author>Charles Dickens    </Author>
                    <PublicationYear>2003 </PublicationYear>
          </book>
 
</bookstore>
 
Now lets start how to use DataGridView. Simply open Visual Studio clik on File -> New -> Project and drag a DataGridView control from the toolbar on the form like as follows:
 
![img1.JPG]()
Figure 1: DataGridView control on Window Form.
 
I also put four buttons to perform sorting by various types. Now I m writing C# code to binding the data and perform the sorting. On the form load dataGridView is binding. And on button click you can see the code of sorting.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Xml;
 
namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            XmlDataDocument xmlDatadoc = new XmlDataDocument();
            xmlDatadoc.DataSet.ReadXml("C:\\books.xml");
            DataSet ds = new DataSet("Books DataSet");
            ds = xmlDatadoc.DataSet;
            dataGridView1.DataSource = ds.DefaultViewManager;
            dataGridView1.DataMember = "Book";
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            XmlDataDocument xmlDatadoc = new XmlDataDocument();
            xmlDatadoc.DataSet.ReadXml("C:\\books.xml");
            DataSet ds = new DataSet("Books DataSet");
            ds = xmlDatadoc.DataSet;
            DataView myDataView = ds.Tables[0].DefaultView;
            myDataView.Sort = "title ASC";
            dataGridView1.DataSource = myDataView;
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            XmlDataDocument xmlDatadoc = new XmlDataDocument();
            xmlDatadoc.DataSet.ReadXml("C:\\books.xml");
            DataSet ds = new DataSet("Books DataSet");
            ds = xmlDatadoc.DataSet;
            DataView myDataView = ds.Tables[0].DefaultView;
            myDataView.Sort = "PublicationYear ASC";
            dataGridView1.DataSource = myDataView;
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            XmlDataDocument xmlDatadoc = new XmlDataDocument();
            xmlDatadoc.DataSet.ReadXml("C:\\books.xml");
            DataSet ds = new DataSet("Books DataSet");
            ds = xmlDatadoc.DataSet;
            DataView myDataView = ds.Tables[0].DefaultView;
            myDataView.Sort = "Price ASC";
            dataGridView1.DataSource = myDataView;
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            XmlDataDocument xmlDatadoc = new XmlDataDocument();
            xmlDatadoc.DataSet.ReadXml("C:\\books.xml");
            DataSet ds = new DataSet("Books DataSet");
            ds = xmlDatadoc.DataSet;
            DataView myDataView = ds.Tables[0].DefaultView;
            myDataView.Sort = "Author ASC";
            dataGridView1.DataSource = myDataView;
        }
    }
}
OutPut: Now debug the application and you will get the following output.
![img2.JPG]()
Figure 2: Record in DataGridView.
Sort by author: If you want to sort the record by author then click on 'Sort By Author' button.
![Sort by author.JPG]()
Figure 3: Record sort by authors
Sort by title: If you want to sort the record by title then click on 'Sort by Title' button.
 
Figure 4: Record sort by Title
Sort by year: If you want to sort the record by year then click on 'Sort by Publication Year' button.
Figure 5: Record sort by publication year.