/* User Interfaces in C#: Windows Forms and Custom Controls by Matthew MacDonald Publisher: Apress ISBN: 1590590457 */ using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace DataGridBinding { /// <summary> /// Summary description for DataGridBinding. /// </summary> public class DataGridBinding : System.Windows.Forms.Form { internal System.Windows.Forms.DataGrid grid; /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; public DataGridBinding() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// <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.grid = new System.Windows.Forms.DataGrid(); ((System.ComponentModel.ISupportInitialize)(this.grid)).BeginInit(); this.SuspendLayout(); // // grid // this.grid.Anchor = (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right); this.grid.DataMember = ""; this.grid.HeaderForeColor = System.Drawing.SystemColors.ControlText; this.grid.Location = new System.Drawing.Point(10, 17); this.grid.Name = "grid"; this.grid.Size = new System.Drawing.Size(272, 232); this.grid.TabIndex = 1; // // DataGridBinding // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 266); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.grid}); this.Name = "DataGridBinding"; this.Text = "DataGridBinding"; this.Load += new System.EventHandler(this.DataGridBinding_Load); ((System.ComponentModel.ISupportInitialize)(this.grid)).EndInit(); this.ResumeLayout(false); } #endregion /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.Run(new DataGridBinding()); } private void DataGridBinding_Load(object sender, System.EventArgs e) { DataSet dsStore = new DataSet(); dsStore.ReadXmlSchema(Application.StartupPath + "store.xsd"); dsStore.ReadXml(Application.StartupPath + "store.xml"); // Create a relation between categories and products. DataRelation dr = new DataRelation("Products in this category", dsStore.Tables["Categories"].Columns["CategoryID"], dsStore.Tables["Products"].Columns["CategoryID"]); // Add the relation to the DataSet. dsStore.Relations.Add(dr); // Bind the data grid. grid.DataSource = dsStore.Tables["Categories"]; } } } DataGridBinding.zip( 45 k)