/* Professional Windows GUI Programming Using C# by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury, Zach Greenvoss, Shripad Kulkarni, Neil Whitlow Publisher: Peer Information ISBN: 1861007663 */ using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; namespace DataBinding { /// <summary> /// Summary description for DataBinding4. /// </summary> public class DataBinding4 : System.Windows.Forms.Form { private System.Windows.Forms.DataGrid grdOrders; private System.Windows.Forms.DataGrid grdOrderDetails; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.ComboBox cbCust; private System.Windows.Forms.TextBox txtPhoneNo; private System.Windows.Forms.TextBox txtFaxNo; private System.Windows.Forms.Label label4; private System.Windows.Forms.TextBox txtContact; /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; public DataBinding4() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // SqlConnection cn=new SqlConnection(@"data source=(local);uid=sa;password=;database=northwind"); DataSet ds = new DataSet("CustOrders"); SqlDataAdapter daCust=new SqlDataAdapter("select * from customers;select * from orders;select * from [order details]",cn); daCust.Fill(ds); ds.Relations.Add("CustOrder",ds.Tables["Table"].Columns["customerid"],ds.Tables["Table1"].Columns["customerid"]); ds.Relations.Add("OrderDetail",ds.Tables["Table1"].Columns["orderid"],ds.Tables["Table2"].Columns["orderid"]); grdOrders.DataSource=ds; grdOrders.DataMember="Table.CustOrder"; grdOrderDetails.DataSource=ds; grdOrderDetails.DataMember="Table.CustOrder.OrderDetail"; cbCust.DataSource=ds; cbCust.DisplayMember="Table.CompanyName"; txtContact.DataBindings.Add("Text",ds,"Table.ContactName"); txtPhoneNo.DataBindings.Add("Text",ds,"Table.Phone"); txtFaxNo.DataBindings.Add("Text",ds,"Table.Fax"); } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.grdOrders = new System.Windows.Forms.DataGrid(); this.grdOrderDetails = new System.Windows.Forms.DataGrid(); this.cbCust = new System.Windows.Forms.ComboBox(); this.txtPhoneNo = new System.Windows.Forms.TextBox(); this.txtFaxNo = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.txtContact = new System.Windows.Forms.TextBox(); ((System.ComponentModel.ISupportInitialize)(this.grdOrders)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.grdOrderDetails)).BeginInit(); this.SuspendLayout(); // // grdOrders // this.grdOrders.AllowNavigation = false; this.grdOrders.DataMember = ""; this.grdOrders.HeaderForeColor = System.Drawing.SystemColors.ControlText; this.grdOrders.Location = new System.Drawing.Point(40, 176); this.grdOrders.Name = "grdOrders"; this.grdOrders.Size = new System.Drawing.Size(448, 144); this.grdOrders.TabIndex = 1; // // grdOrderDetails // this.grdOrderDetails.DataMember = ""; this.grdOrderDetails.HeaderForeColor = System.Drawing.SystemColors.ControlText; this.grdOrderDetails.Location = new System.Drawing.Point(40, 328); this.grdOrderDetails.Name = "grdOrderDetails"; this.grdOrderDetails.Size = new System.Drawing.Size(448, 136); this.grdOrderDetails.TabIndex = 2; // // cbCust // this.cbCust.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cbCust.Location = new System.Drawing.Point(216, 32); this.cbCust.Name = "cbCust"; this.cbCust.Size = new System.Drawing.Size(240, 21); this.cbCust.TabIndex = 3; // // txtPhoneNo // this.txtPhoneNo.Location = new System.Drawing.Point(216, 96); this.txtPhoneNo.Name = "txtPhoneNo"; this.txtPhoneNo.Size = new System.Drawing.Size(240, 20); this.txtPhoneNo.TabIndex = 4; this.txtPhoneNo.Text = "textBox1"; // // txtFaxNo // this.txtFaxNo.Location = new System.Drawing.Point(216, 128); this.txtFaxNo.Name = "txtFaxNo"; this.txtFaxNo.Size = new System.Drawing.Size(240, 20); this.txtFaxNo.TabIndex = 5; this.txtFaxNo.Text = "textBox2"; // // label1 // this.label1.Location = new System.Drawing.Point(80, 32); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(128, 24); this.label1.TabIndex = 6; this.label1.Text = "Customer Name"; this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight; // // label2 // this.label2.Location = new System.Drawing.Point(80, 96); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(128, 24); this.label2.TabIndex = 7; this.label2.Text = "Phone Number"; this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight; // // label3 // this.label3.Location = new System.Drawing.Point(80, 128); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(128, 24); this.label3.TabIndex = 8; this.label3.Text = "Fax Number"; this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight; // // label4 // this.label4.Location = new System.Drawing.Point(80, 64); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(128, 24); this.label4.TabIndex = 10; this.label4.Text = "Contact Name"; this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleRight; // // txtContact // this.txtContact.Location = new System.Drawing.Point(216, 64); this.txtContact.Name = "txtContact"; this.txtContact.Size = new System.Drawing.Size(240, 20); this.txtContact.TabIndex = 9; this.txtContact.Text = "textBox1"; // // DataBinding4 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(520, 483); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.label4, this.txtContact, this.label3, this.label2, this.label1, this.txtFaxNo, this.txtPhoneNo, this.cbCust, this.grdOrderDetails, this.grdOrders}); this.Name = "DataBinding4"; this.Text = "DataBinding4"; ((System.ComponentModel.ISupportInitialize)(this.grdOrders)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.grdOrderDetails)).EndInit(); this.ResumeLayout(false); } #endregion /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.Run(new DataBinding4()); } } }