⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form2.cs

📁 vs.net中在wince下使用xml的例子
💻 CS
字号:
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;

namespace WSonSPDemo
{
    public partial class Form2 : Form
    {
        DataTable dt1 = null;
        DataTable dt2 = null;
        DataSet ds = null;
        int CurrentTable ;
        public Form2()
        {
            InitializeComponent();
        }

        private void LoadData()
        {
            int loadTimeSpan;
            
            XmlDocument doc = new XmlDocument();
            try
            {
               int t1= System.Environment.TickCount;
                //将XML文件读入内存
                doc.Load(@"\Storage Card\books.xml");
                int t2 = System.Environment.TickCount;
                loadTimeSpan = t2 - t1;
                MessageBox.Show("LoadDocTimeSpan:"+loadTimeSpan);
            }
            catch (XmlException ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
            Cursor.Current = Cursors.WaitCursor;
            //通过XmlNodeReader把XmlDocument中的数据填充到dataSet中去
            XmlNodeReader reader = new XmlNodeReader(doc);
            int DataSetFillSpan;
             ds = new DataSet();
                    int t3 = System.Environment.TickCount;
            ds.ReadXml(reader);
            int t4 = System.Environment.TickCount;
            DataSetFillSpan = t4 - t3;
            reader.Close();

            //因为XML文件里面存在Book和Author的一对多的主从表
            dt1 = ds.Tables[0];
            dt2 = ds.Tables[1]; 
            //设置默认显示的表
            DG_Book.DataSource = ds.Tables[0].DefaultView;
            CurrentTable = 0;
            Cursor.Current = Cursors.Default;
            MessageBox.Show("Fill dataset timeSpan:"+DataSetFillSpan);
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            LoadData();
        }

        /// <summary>
        /// 显示特定行的信息
        /// </summary>
        /// <param name="bookIndex">行号</param>
        private void DisplayDataRow(int bookIndex)
        {
            String line = String.Empty;
            DataTable dt = CurrentTable == 0 ? dt1 : dt2;

            DataRow dr = dt.Rows[bookIndex];

            int col = 0;
            foreach (object value in dr.ItemArray)
            {
                line += (dt.Columns[col].ColumnName + ": " +
                    value.ToString() + "\r\n");
                col++;
            }
            MessageBox.Show(line);
        }

        private void menuItem3_Click(object sender, EventArgs e)
        {
            int bookIndex = DG_Book.CurrentRowIndex;
            DisplayDataRow(bookIndex);
        }

        private void menuItem4_Click(object sender, EventArgs e)
        {
            SwitchTable();
        }

        private void menuItem5_Click(object sender, EventArgs e)
        {
            SwitchTable();
        }

        /// <summary>
        /// 在两个表之间切换显示
        /// </summary>
        private void SwitchTable()
        {
            if (CurrentTable == 0)
            {
                DG_Book.DataSource = dt2.DefaultView;
                CurrentTable = 1;
                this.Text = "Author Table:";
            }
            else
            {
                DG_Book.DataSource = dt1.DefaultView;
                CurrentTable = 0;
                this.Text = "Book Table:";
            }
        }

        private void menuItem1_Click(object sender, EventArgs e)
        {
            //关闭的时候输出带Schema的XML文件
            if (ds != null)
            {
                ds.WriteXml(@"\Storage Card\bookstore.xml", XmlWriteMode.WriteSchema);             
                //ds.WriteXmlSchema(@"\Storage Card\bookstore.xsd");
            }
            Application.Exit();
        }

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -