Click here to Skip to main content
13,144,265 members (32,391 online)
Click here to Skip to main content
Add your own
alternative version


16 bookmarked
Posted 2 Aug 2004

This is a simple C# program that illustrate the usage of DataGrid with DataSet

, 2 Aug 2004
Rate this:
Please Sign up or sign in to vote.
This is a simple C# program that illustrates the usage of DataGrid with DataSet.


This is a simple C# Program that illustrate the usage of DataGrid with DataSet.

Create Database and Table accordingly.

 * Simple C# example to illustrate the usage of Dataset with DataGrid 
 * Need to change the url and query accordingly 
using System; 
using System.Data; 
using System.Data.SqlClient; 
using System.Drawing; 
using System.Windows.Forms; 

public class DataGridSample:Form{ 
        DataGrid myGrid; 
        SqlConnection con; 
        SqlDataAdapter adapter; 
        DataSet ds; 
    Button ok, cancel; 
        SqlParameter workParam = null; 
        // apply to the columns in the table 
        string query = "select CardNo,CardType,CardAmount, CardHolderName from CardTest"; 
        // change the Server ,uid, pwd and database accordingly 
        string url = "server=TR4;uid=sa;pwd= ;database=RBSGTest"; 

        static void Main(){ 
        Application.Run(new DataGridSample()); 

        public DataGridSample(){ 

        public void InitializeComponent(){ 
        this.ClientSize = new System.Drawing.Size(550, 450); 
        myGrid = new DataGrid(); 
        myGrid.Location = new Point (10,10); 
        myGrid.Size = new Size(500, 350); 
        this.Text = "C# DataGrid with DataSet - Example"; 
                ok = new Button(); 
                ok.Location = new Point(10, 375); 
        ok.Size = new Size(70, 30); 
                ok.TabIndex = 1; 
                ok.Text = "OK"; 
                ok.Click += new System.EventHandler(button_Click); 

                cancel = new Button(); 
                cancel.Location = new Point(95, 375); 
            cancel.Size = new Size(70, 30); 
                cancel.TabIndex = 1; 
                cancel.Text = "Cancel"; 
                cancel.Click += new System.EventHandler(button_Click); 

        ConnectToData(); // establish database connection and create DataSet 
        myGrid.SetDataBinding(ds, "CardTest"); 
        DataTable t = ds.Tables["CardTest"]; 
        t.RowChanged += new DataRowChangeEventHandler(Row_Changed); 
        public void ConnectToData(){ 
                ds = new DataSet(); 
            con = new SqlConnection(url); 
            adapter = new SqlDataAdapter(); 
            adapter.SelectCommand = new SqlCommand(query, con); 
            adapter.Fill(ds, "CardTest"); 
                public void updateCommand() 
                string query = "Update CardTest Set CardHolderName = @CardHolderName, CardType = @CardType, CardAmount = @CardAmount WHERE CardNo = @CardNo";

                adapter.UpdateCommand = new SqlCommand(query, con); 
            workParam = adapter.UpdateCommand.Parameters.Add("@CardNo", SqlDbType.NChar); 
            workParam.SourceColumn = "CardNo"; 
            workParam.SourceVersion = DataRowVersion.Original; 
            workParam = adapter.UpdateCommand.Parameters.Add("@CardType", SqlDbType.NChar, 50); 
            workParam.SourceVersion = DataRowVersion.Current; 
            workParam.SourceColumn = "CardType"; 

            workParam = adapter.UpdateCommand.Parameters.Add("@CardAmount", SqlDbType.Int); 
            workParam.SourceColumn = "CardAmount"; 
            workParam.SourceVersion = DataRowVersion.Current; 

            workParam = adapter.UpdateCommand.Parameters.Add("@CardHolderName", SqlDbType.NChar, 50); 
            workParam.SourceColumn = "CardHolderName"; 
            workParam.SourceVersion = DataRowVersion.Current; 

          public void button_Click(object sender, EventArgs evArgs) 
                if (sender==ok){ 
                        UpdateValue(); // update the database once everything done. 
                if (sender==cancel) { 

        private void Row_Changed(object ob, DataRowChangeEventArgs e) 
                DataTable t = (DataTable)  ob; 
                Console.WriteLine("RowChanged " + e.Action.ToString() + "\t" + e.Row.ItemArray[0]); 
                public void insertCommand() 
                string insertQuery = "Insert into CardTest VALUES (@CardNo, @CardType, @CardAmount, @CardHolderName)"; 
                adapter.InsertCommand = new SqlCommand(insertQuery, con); 
            workParam = adapter.InsertCommand.Parameters.Add("@CardNo", SqlDbType.NChar); 
            workParam.SourceColumn = "CardNo"; 
            workParam.SourceVersion = DataRowVersion.Current; 
            workParam = adapter.InsertCommand.Parameters.Add("@CardType", SqlDbType.NChar, 50); 
            workParam.SourceVersion = DataRowVersion.Current; 
            workParam.SourceColumn = "CardType"; 

            workParam = adapter.InsertCommand.Parameters.Add("@CardAmount", SqlDbType.Int); 
            workParam.SourceColumn = "CardAmount"; 
            workParam.SourceVersion = DataRowVersion.Current; 
            workParam = adapter.InsertCommand.Parameters.Add("@CardHolderName", SqlDbType.NChar, 50); 
            workParam.SourceVersion = DataRowVersion.Current; 
            workParam.SourceColumn = "CardHolderName"; 
        public void UpdateValue() 
              adapter.Update(ds, "CardTest"); 
              Console.Write("Updating DataSet succeeded!"); 
            catch(Exception e) 


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Mubbasher Adeel
Web Developer
Germany Germany
No Biography provided

You may also be interested in...

Comments and Discussions

QuestionTrying this in MySQL? Pin
benjiwa1-Nov-06 18:53
memberbenjiwa1-Nov-06 18:53 
GeneralIn case this shall be an introductory article Pin
Vanarion12-Aug-04 0:44
memberVanarion12-Aug-04 0:44 
QuestionHow to respond to grid-row change? Pin
Paul Ritchie11-Aug-04 16:11
memberPaul Ritchie11-Aug-04 16:11 

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

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

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.170915.1 | Last Updated 3 Aug 2004
Article Copyright 2004 by Mubbasher Adeel
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid