Csharp/C Sharp/Database ADO.net/Data Bind DataGrid
Bind DataSet to DataGrid
<source lang="csharp"> using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient;
public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.DataGrid dataGrid1; private System.ruponentModel.Container components = null; public Form1() { InitializeComponent(); } private void InitializeComponent(){ this.dataGrid1 = new System.Windows.Forms.DataGrid(); ((System.ruponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit(); this.SuspendLayout(); this.dataGrid1.DataMember = ""; this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText; this.dataGrid1.Location = new System.Drawing.Point(8, 8); this.dataGrid1.Name = "dataGrid1"; this.dataGrid1.Size = new System.Drawing.Size(608, 256); this.dataGrid1.TabIndex = 0; this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(624, 272); this.Controls.Add(this.dataGrid1); this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load); ((System.ruponentModel.ISupportInitialize)(this.dataGrid1)).EndInit(); this.ResumeLayout(false); } static void Main() { Application.Run(new Form1()); } private void Form1_Load(object sender, System.EventArgs e){ string connString = "server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI"; string sql = @"select * from employee"; SqlConnection conn = new SqlConnection(connString); SqlDataAdapter da = new SqlDataAdapter(sql, conn); DataSet ds = new DataSet(); da.Fill(ds, "customers"); // Bind the data table to the data grid dataGrid1.SetDataBinding(ds, "customers"); } }
</source>
Bind two DataGrids with many to many mapping
<source lang="csharp"> using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient;
public class Form1 : System.Windows.Forms.Form{ private System.Windows.Forms.DataGrid dataGrid1; private System.Data.DataSet dataSet1; private System.ruponentModel.Container components = null; public Form1() { InitializeComponent(); } private void InitializeComponent(){ this.dataGrid1 = new System.Windows.Forms.DataGrid(); this.dataSet1 = new System.Data.DataSet(); ((System.ruponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit(); ((System.ruponentModel.ISupportInitialize)(this.dataSet1)).BeginInit(); this.SuspendLayout(); this.dataGrid1.DataMember = ""; this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText; this.dataGrid1.Location = new System.Drawing.Point(0, 0); this.dataGrid1.Name = "dataGrid1"; this.dataGrid1.Size = new System.Drawing.Size(400, 200); this.dataGrid1.TabIndex = 0; this.dataSet1.DataSetName = "NewDataSet"; this.dataSet1.Locale = new System.Globalization.CultureInfo("en-US"); this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(400, 196); this.Controls.Add(this.dataGrid1); this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load); ((System.ruponentModel.ISupportInitialize)(this.dataGrid1)).EndInit(); ((System.ruponentModel.ISupportInitialize)(this.dataSet1)).EndInit(); this.ResumeLayout(false); } [STAThread] static void Main() { Application.Run(new Form1()); } private void Form1_Load(object sender, System.EventArgs e) { string connString = "server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI"; string qry1 = @"select * from employee "; string qry2 = @"select * from order"; string sql = qry1 + qry2; SqlConnection conn = new SqlConnection(connString); SqlDataAdapter da = new SqlDataAdapter(sql, conn); da.TableMappings.Add("Table", "employee"); da.TableMappings.Add("Table1", "order"); da.Fill(dataSet1); DataRelation dr = new DataRelation( "employeeorders", dataSet1.Tables[0].Columns["employeeid"], dataSet1.Tables[1].Columns["employeeid"] ); dataSet1.Relations.Add(dr); dataGrid1.SetDataBinding(dataSet1, "employees"); } }
</source>
DataGrid Update: edit a table by binding component
<source lang="csharp"> using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient;
public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.DataGrid dataGrid1; private System.Windows.Forms.Button buttonUpdate; private System.Data.DataSet dataSet1; private System.Data.SqlClient.SqlCommand sqlCommand1; private System.ruponentModel.Container components = null; private SqlCommandBuilder cb; private SqlDataAdapter da; public Form1() { InitializeComponent(); } private void InitializeComponent(){ this.dataGrid1 = new System.Windows.Forms.DataGrid(); this.buttonUpdate = new System.Windows.Forms.Button(); this.dataSet1 = new System.Data.DataSet(); this.sqlCommand1 = new System.Data.SqlClient.SqlCommand(); ((System.ruponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit(); ((System.ruponentModel.ISupportInitialize)(this.dataSet1)).BeginInit(); this.SuspendLayout(); this.dataGrid1.DataMember = ""; this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText; this.dataGrid1.Location = new System.Drawing.Point(8, 8); this.dataGrid1.Name = "dataGrid1"; this.dataGrid1.Size = new System.Drawing.Size(440, 208); this.dataGrid1.TabIndex = 0; this.buttonUpdate.Location = new System.Drawing.Point(191, 232); this.buttonUpdate.Name = "buttonUpdate"; this.buttonUpdate.TabIndex = 1; this.buttonUpdate.Text = "Update"; this.buttonUpdate.Click += new System.EventHandler(this.buttonUpdate_Click); this.dataSet1.DataSetName = "NewDataSet"; this.dataSet1.Locale = new System.Globalization.CultureInfo("en-US"); this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(456, 272); this.Controls.Add(this.buttonUpdate); this.Controls.Add(this.dataGrid1); this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load); ((System.ruponentModel.ISupportInitialize)(this.dataGrid1)).EndInit(); ((System.ruponentModel.ISupportInitialize)(this.dataSet1)).EndInit(); this.ResumeLayout(false); } static void Main() { Application.Run(new Form1()); } private void Form1_Load(object sender, System.EventArgs e){ string connString = "server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI"; string sql = @"select * from employee "; SqlConnection conn = new SqlConnection(connString); sqlCommand1 = new SqlCommand(sql, conn); da = new SqlDataAdapter(); da.SelectCommand = sqlCommand1; cb = new SqlCommandBuilder(da); da.Fill(dataSet1, "employee"); dataGrid1.SetDataBinding(dataSet1, "employee"); } private void buttonUpdate_Click(object sender, System.EventArgs e) { da.Update(dataSet1, "employee"); } }
</source>