/*
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 description for DataBinding4.
///
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;
///
/// Required designer variable.
///
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");
}
///
/// Clean up any resources being used.
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
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
///
/// The main entry point for the application.
///
[STAThread]
static void Main()
{
Application.Run(new DataBinding4());
}
}
}