Csharp/C Sharp/XML/XML DataGrid

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Load data in database table to XML format and save it 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; using System.Configuration; using System.Xml; public class Form1 : System.Windows.Forms.Form {

  private System.Windows.Forms.Button btnReadXml;
  private System.Windows.Forms.Button btnWriteXml;
  private System.Windows.Forms.Button btnConfigXml;
  private System.Windows.Forms.DataGrid dataGrid1;
  private System.ruponentModel.Container components = null;
  public Form1() {
     InitializeComponent();
  }
  private void InitializeComponent() {
     this.btnReadXml = new System.Windows.Forms.Button();
     this.btnWriteXml = new System.Windows.Forms.Button();
     this.btnConfigXml = new System.Windows.Forms.Button();
     this.dataGrid1 = new System.Windows.Forms.DataGrid();
     ((System.ruponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
     this.SuspendLayout();
     this.btnReadXml.Location = new System.Drawing.Point(8, 8);
     this.btnReadXml.Name = "btnReadXml";
     this.btnReadXml.TabIndex = 0;
     this.btnReadXml.Text = "Read XML";
     this.btnReadXml.Click += new System.EventHandler(this.btnReadXml_Click);
     this.btnWriteXml.Location = new System.Drawing.Point(8, 48);
     this.btnWriteXml.Name = "btnWriteXml";
     this.btnWriteXml.TabIndex = 1;
     this.btnWriteXml.Text = "Write XML";
     this.btnWriteXml.Click += new System.EventHandler(this.btnWriteXml_Click);
     this.btnConfigXml.Location = new System.Drawing.Point(8, 88);
     this.btnConfigXml.Name = "btnConfigXml";
     this.btnConfigXml.TabIndex = 2;
     this.btnConfigXml.Text = "Config";
     this.btnConfigXml.Click += new System.EventHandler(this.btnConfigXml_Click);
     this.dataGrid1.DataMember = "";
     this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
     this.dataGrid1.Location = new System.Drawing.Point(104, 8);
     this.dataGrid1.Name = "dataGrid1";
     this.dataGrid1.Size = new System.Drawing.Size(184, 192);
     this.dataGrid1.TabIndex = 3;
     this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
     this.ClientSize = new System.Drawing.Size(292, 272);
     this.Controls.Add(this.dataGrid1);
     this.Controls.Add(this.btnConfigXml);
     this.Controls.Add(this.btnWriteXml);
     this.Controls.Add(this.btnReadXml);
     this.Name = "Form1";
     this.Text = "XML Demo";
     ((System.ruponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
     this.ResumeLayout(false);
  }
  static void Main() {
     Application.Run(new Form1());
  }
  private void btnReadXml_Click(object sender, System.EventArgs e) {
     DataSet ds = new DataSet();
     ds.ReadXml("Employee.xml",XmlReadMode.InferSchema);
     dataGrid1.SetDataBinding(ds, "Employee");
  }
  private void btnWriteXml_Click(object sender, System.EventArgs e) {
     DataSet ds = (DataSet) dataGrid1.DataSource;
     ds.WriteXml("XMLFileOut.xml",XmlWriteMode.IgnoreSchema);    
  }
  private void btnConfigXml_Click(object sender, System.EventArgs e) {
     string connString = @"server=(local)\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI";
     SqlConnection conn = new SqlConnection(connString);
     SqlCommand cmd = new SqlCommand();
     cmd.Connection = conn;
     cmd.rumandText = @"select id,lastname from employee for xml auto";
     try {
        conn.Open();
        XmlReader xmlrdr = cmd.ExecuteXmlReader();
        DataSet ds = new DataSet();
        ds.ReadXml(xmlrdr,XmlReadMode.InferSchema);
        dataGrid1.DataSource=ds;
     } catch (SqlException ex) {
        MessageBox.Show (ex.Message);
     } finally  {
        conn.Close();
     }
 }

}

/* File: Employee.xml <?xml version="1.0" standalone="yes"?> <NewDataSet>

 <employee id="1" lastname="Yin       ">
 </employee>

</NewDataSet>

  • /
      </source>


Read XML data from file into 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; using System.Configuration; using System.Xml; public class Form1 : System.Windows.Forms.Form {

  private System.Windows.Forms.Button btnReadXml;
  private System.Windows.Forms.Button btnWriteXml;
  private System.Windows.Forms.Button btnConfigXml;
  private System.Windows.Forms.DataGrid dataGrid1;
  private System.ruponentModel.Container components = null;
  public Form1() {
     InitializeComponent();
  }
  private void InitializeComponent() {
     this.btnReadXml = new System.Windows.Forms.Button();
     this.btnWriteXml = new System.Windows.Forms.Button();
     this.btnConfigXml = new System.Windows.Forms.Button();
     this.dataGrid1 = new System.Windows.Forms.DataGrid();
     ((System.ruponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
     this.SuspendLayout();
     this.btnReadXml.Location = new System.Drawing.Point(8, 8);
     this.btnReadXml.Name = "btnReadXml";
     this.btnReadXml.TabIndex = 0;
     this.btnReadXml.Text = "Read XML";
     this.btnReadXml.Click += new System.EventHandler(this.btnReadXml_Click);
     this.btnWriteXml.Location = new System.Drawing.Point(8, 48);
     this.btnWriteXml.Name = "btnWriteXml";
     this.btnWriteXml.TabIndex = 1;
     this.btnWriteXml.Text = "Write XML";
     this.btnWriteXml.Click += new System.EventHandler(this.btnWriteXml_Click);
     this.btnConfigXml.Location = new System.Drawing.Point(8, 88);
     this.btnConfigXml.Name = "btnConfigXml";
     this.btnConfigXml.TabIndex = 2;
     this.btnConfigXml.Text = "Config";
     this.btnConfigXml.Click += new System.EventHandler(this.btnConfigXml_Click);
     this.dataGrid1.DataMember = "";
     this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
     this.dataGrid1.Location = new System.Drawing.Point(104, 8);
     this.dataGrid1.Name = "dataGrid1";
     this.dataGrid1.Size = new System.Drawing.Size(184, 192);
     this.dataGrid1.TabIndex = 3;
     this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
     this.ClientSize = new System.Drawing.Size(292, 272);
     this.Controls.Add(this.dataGrid1);
     this.Controls.Add(this.btnConfigXml);
     this.Controls.Add(this.btnWriteXml);
     this.Controls.Add(this.btnReadXml);
     this.Name = "Form1";
     this.Text = "XML Demo";
     ((System.ruponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
     this.ResumeLayout(false);
  }
  static void Main() {
     Application.Run(new Form1());
  }
  private void btnReadXml_Click(object sender, System.EventArgs e) {
     DataSet ds = new DataSet();
     ds.ReadXml("Employee.xml",XmlReadMode.InferSchema);
     dataGrid1.SetDataBinding(ds, "Employee");
  }
  private void btnWriteXml_Click(object sender, System.EventArgs e) {
     DataSet ds = (DataSet) dataGrid1.DataSource;
     ds.WriteXml("XMLFileOut.xml",XmlWriteMode.IgnoreSchema);    
  }
  private void btnConfigXml_Click(object sender, System.EventArgs e) {
     string connString = @"server=(local)\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI";
     SqlConnection conn = new SqlConnection(connString);
     SqlCommand cmd = new SqlCommand();
     cmd.Connection = conn;
     cmd.rumandText = @"select id,lastname from employee for xml auto";
     try {
        conn.Open();
        XmlReader xmlrdr = cmd.ExecuteXmlReader();
        DataSet ds = new DataSet();
        ds.ReadXml(xmlrdr,XmlReadMode.InferSchema);
        dataGrid1.DataSource=ds;
     } catch (SqlException ex) {
        MessageBox.Show (ex.Message);
     } finally  {
        conn.Close();
     }
 }

}

/* File: Employee.xml <?xml version="1.0" standalone="yes"?> <NewDataSet>

 <employee id="1" lastname="Yin       ">
 </employee>

</NewDataSet>

  • /
      </source>


Save data in DataGrid into XML file

<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; using System.Configuration; using System.Xml; public class Form1 : System.Windows.Forms.Form {

  private System.Windows.Forms.Button btnReadXml;
  private System.Windows.Forms.Button btnWriteXml;
  private System.Windows.Forms.Button btnConfigXml;
  private System.Windows.Forms.DataGrid dataGrid1;
  private System.ruponentModel.Container components = null;
  public Form1() {
     InitializeComponent();
  }
  private void InitializeComponent() {
     this.btnReadXml = new System.Windows.Forms.Button();
     this.btnWriteXml = new System.Windows.Forms.Button();
     this.btnConfigXml = new System.Windows.Forms.Button();
     this.dataGrid1 = new System.Windows.Forms.DataGrid();
     ((System.ruponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
     this.SuspendLayout();
     this.btnReadXml.Location = new System.Drawing.Point(8, 8);
     this.btnReadXml.Name = "btnReadXml";
     this.btnReadXml.TabIndex = 0;
     this.btnReadXml.Text = "Read XML";
     this.btnReadXml.Click += new System.EventHandler(this.btnReadXml_Click);
     this.btnWriteXml.Location = new System.Drawing.Point(8, 48);
     this.btnWriteXml.Name = "btnWriteXml";
     this.btnWriteXml.TabIndex = 1;
     this.btnWriteXml.Text = "Write XML";
     this.btnWriteXml.Click += new System.EventHandler(this.btnWriteXml_Click);
     this.btnConfigXml.Location = new System.Drawing.Point(8, 88);
     this.btnConfigXml.Name = "btnConfigXml";
     this.btnConfigXml.TabIndex = 2;
     this.btnConfigXml.Text = "Config";
     this.btnConfigXml.Click += new System.EventHandler(this.btnConfigXml_Click);
     this.dataGrid1.DataMember = "";
     this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
     this.dataGrid1.Location = new System.Drawing.Point(104, 8);
     this.dataGrid1.Name = "dataGrid1";
     this.dataGrid1.Size = new System.Drawing.Size(184, 192);
     this.dataGrid1.TabIndex = 3;
     this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
     this.ClientSize = new System.Drawing.Size(292, 272);
     this.Controls.Add(this.dataGrid1);
     this.Controls.Add(this.btnConfigXml);
     this.Controls.Add(this.btnWriteXml);
     this.Controls.Add(this.btnReadXml);
     this.Name = "Form1";
     this.Text = "XML Demo";
     ((System.ruponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
     this.ResumeLayout(false);
  }
  static void Main() {
     Application.Run(new Form1());
  }
  private void btnReadXml_Click(object sender, System.EventArgs e) {
     DataSet ds = new DataSet();
     ds.ReadXml("Employee.xml",XmlReadMode.InferSchema);
     dataGrid1.SetDataBinding(ds, "Employee");
  }
  private void btnWriteXml_Click(object sender, System.EventArgs e) {
     DataSet ds = (DataSet) dataGrid1.DataSource;
     ds.WriteXml("XMLFileOut.xml",XmlWriteMode.IgnoreSchema);    
  }
  private void btnConfigXml_Click(object sender, System.EventArgs e) {
     string connString = @"server=(local)\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI";
     SqlConnection conn = new SqlConnection(connString);
     SqlCommand cmd = new SqlCommand();
     cmd.Connection = conn;
     cmd.rumandText = @"select id,lastname from employee for xml auto";
     try {
        conn.Open();
        XmlReader xmlrdr = cmd.ExecuteXmlReader();
        DataSet ds = new DataSet();
        ds.ReadXml(xmlrdr,XmlReadMode.InferSchema);
        dataGrid1.DataSource=ds;
     } catch (SqlException ex) {
        MessageBox.Show (ex.Message);
     } finally  {
        conn.Close();
     }
 }

}

/* File: Employee.xml <?xml version="1.0" standalone="yes"?> <NewDataSet>

 <employee id="1" lastname="Yin       ">
 </employee>

</NewDataSet>

  • /
      </source>