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

📄 utildata.cs

📁 winmobile数据绑定操作代码
💻 CS
字号:
//-----------------------------------------------------------------------------
// Code from _Programming the .NET Compact Framework with C#_
// and _Programming the .NET Compact Framework with VB_
// (c) Copyright 2002-2004 Paul Yao and David Durant. 
// All rights reserved.
//-----------------------------------------------------------------------------

using System;
using System.Collections;
using System.Data;

namespace YaoDurant.Data
{
	/// <summary>
	/// Summary description for UtilData.
	/// </summary>
	public class UtilData
	{
      #region Database Structure Simulated
      public struct Project
      {
         private string  m_strIdent;
         private string  m_strName;
         private DateTime m_dateStart;
         private DateTime m_dateEnd;
         private int m_ctTasks;
         private string  m_strComments;

         public string  strIdent  
         {
            get 
            {
               return m_strIdent;
            }
            set 
            {
               m_strIdent = value;
            }
         }
         public string  strName  
         {
            get 
            {
               return m_strName;
            }
            set 
            {
               m_strName = value;
            }
         }
         public DateTime dateStart  
         {
            get 
            {
               return m_dateStart;
            }
            set 
            {
               m_dateStart = value;
            }
         }
         public DateTime dateEnd  
         {
            get 
            {
               return m_dateEnd;
            }
            set 
            {
               m_dateEnd = value;
            }
         }
         public int ctTasks  
         {
            get 
            {
               return m_ctTasks;
            }
            set 
            {
               m_ctTasks = value;
            }
         }
         public string  strComments  
         {
            get 
            {
               return m_strComments;
            }
            set 
            {
               m_strComments = value;
            }
         }
         public Project( string strIdent, string strName,  
                         DateTime dateStart, DateTime dateEnd,
                         int ctTasks, string strComments) 
         {
            this.m_strIdent = strIdent;
            this.m_strName = strName;
            this.m_dateStart = dateStart;
            this.m_dateEnd = dateEnd;
            this.m_ctTasks = ctTasks;
            this.m_strComments = strComments;
         }
      }

      public struct Task
      {
         private string  m_strIdent;
         private string  m_strProjIdent;
         private string  m_strName;
         private DateTime m_dateStart;
         private DateTime m_dateEnd;
         private int m_durEstimated;  
         private int m_durActual;  
         private string  m_strComments;

         public string  strIdent  
         {
            get 
            {
               return m_strIdent;
            }
            set 
            {
               m_strIdent = value;
            }
         }
         public string  strProjIdent  
         {
            get 
            {
               return m_strProjIdent;
            }
            set 
            {
               m_strProjIdent = value;
            }
         }
         public string  strName  
         {
            get 
            {
               return m_strName;
            }
            set 
            {
               m_strName = value;
            }
         }
         public DateTime dateStart  
         {
            get 
            {
               return m_dateStart;
            }
            set 
            {
               m_dateStart = value;
            }
         }
         public DateTime dateEnd  
         {
            get 
            {
               return m_dateEnd;
            }
            set 
            {
               m_dateEnd = value;
            }
         }
         public int durEstimated  
         {
            get 
            {
               return m_durEstimated;
            }
            set 
            {
               m_durEstimated = value;
            }
         }
         public int durActual  
         {
            get 
            {
               return m_durActual;
            }
            set 
            {
               m_durActual = value;
            }
         }
         public string  strComments  
         {
            get 
            {
               return m_strComments;
            }
            set 
            {
               m_strComments = value;
            }
         }

         public Task( string  strIdent,  
                      string  strProjIdent,  
                      string  strName,  
                      DateTime dateStart,  DateTime dateEnd,  
                      int durEstimated,  int durActual,  
                      string  strComments) 
         {
            this.m_strIdent = strIdent;
            this.m_strProjIdent = strProjIdent;
            this.m_strName = strName;
            this.m_dateStart = dateStart;
            this.m_dateEnd = dateEnd;
            this.m_durEstimated = durEstimated;
            this.m_durActual = durActual;
            this.m_strComments = strComments;
         }
     }
     #endregion
      
      //  All objects listed here will be loaded with
      //     data whenever an instance of this class
      //     is created.

      //  The projects, stored in an ArrayList
      private ArrayList alProjects;
      //  The tasks, stored in an ArrayList
      private ArrayList alTasks;

      //  The projects, stored in a DataTable
      private DataTable dtblProjects;
      //  The tasks, stored in a DataTable
      private DataTable dtblTasks;
      //  A DataSet to hold the two DataTables.
      private DataSet dsetTimeTracker;

      public UtilData()
		{
         LoadData();
		}

      internal DataSet GetProjectsDataSet() 
      {
         return dsetTimeTracker;
      }

      internal Project GetProject(string strIdent)
      {
         // Just for this sample, return Project 17.
         return (Project)alProjects[1];
      }

      internal ArrayList GetTasks(string strProjIdent)
      {
         // Just for this sample, return the Tasks ofProject 17.
         return alTasks;
      }

      #region Database Read Simulation
      private void LoadData()
      {
         //  Simulate having retrieved project data
         //     from a database.  Here, we'll use our
         //     Project and Task data structures to
         //     hold the data.

         alProjects = new ArrayList();
         alProjects.Add(new Project(
            "1", 
            "Build Ark", 
            DateTime.Today.AddDays(-17), 
            DateTime.Today.AddDays(22), 
            5, 
            "Must be done in less than 40 days."));
         alProjects.Add(new Project(
            "17", 
            "Develop CF Application", 
            DateTime.Today.AddDays(-17), 
            DateTime.Today.AddDays(22), 
            5, 
            "To ensure success, read the Yao-Durant book."));
         alProjects.Add(new Project(
            "9", 
            "Write CF Book", 
            DateTime.Today.AddDays(-17), 
            DateTime.Today.AddDays(22), 
            5, 
            "The endless cycle: Code, test, write, revise."));

         alTasks = new ArrayList();
         foreach( Project projWork in alProjects )
         {
            // Just for this sample, use only Tasks ofProject 17.
            if( projWork.strIdent == "17" )
            {
               alTasks.Add(new Task("0", projWork.strIdent,
                  "Create Blueprints", 
                  DateTime.Today.AddDays(-17), 
                  DateTime.Today.AddDays(22), 
                  120, 60, ""));
               alTasks.Add(new Task("1",  projWork.strIdent,
                  "Build Franistans", 
                  DateTime.Today.AddDays(-11), 
                  DateTime.Today.AddDays(0), 
                  35, 30, ""));
               alTasks.Add(new Task("2",  projWork.strIdent,
                  "Build Widgets", 
                  DateTime.Today.AddDays(-4), 
                  DateTime.Today.AddDays(44), 
                  400, 45, ""));
               alTasks.Add(new Task("3",  projWork.strIdent,
                  "Assemble Woobletogles", 
                  DateTime.Today.AddDays(-19), 
                  DateTime.Today.AddDays(2), 
                  20, 20, ""));
               alTasks.Add(new Task("4",  projWork.strIdent,
                  "Weld Mainwareing", 
                  DateTime.Today.AddDays(-100), 
                  DateTime.Today.AddDays(50), 
                  20, 6, ""));
            }
         }

         dsetTimeTracker = new DataSet("TimeTracker");
         DataColumn dcolWork;

         dtblProjects = new DataTable("Projects");

         dcolWork = new DataColumn("strIdent", typeof(string ));
         dtblProjects.Columns.Add(dcolWork);
         dcolWork = new DataColumn("strName", typeof(string ));
         dtblProjects.Columns.Add(dcolWork);
         dcolWork = 
            new DataColumn("dateStart", typeof(DateTime));
         dtblProjects.Columns.Add(dcolWork);
         dcolWork = new DataColumn("dateEnd", typeof(DateTime));
         dtblProjects.Columns.Add(dcolWork);
         dcolWork = new DataColumn("ctTasks", typeof(int));
         dtblProjects.Columns.Add(dcolWork);
         dcolWork = 
            new DataColumn("strComments", typeof(string ));
         dtblProjects.Columns.Add(dcolWork);

         dtblTasks = new DataTable("Tasks");

         dcolWork = new DataColumn("strIdent", typeof(string ));
         dtblTasks.Columns.Add(dcolWork);
         dcolWork = 
            new DataColumn("strProjIdent", typeof(string ));
         dtblTasks.Columns.Add(dcolWork);
         dcolWork = new DataColumn("strName", typeof(string ));
         dtblTasks.Columns.Add(dcolWork);
         dcolWork = 
            new DataColumn("dateStart", typeof(DateTime));
         dtblTasks.Columns.Add(dcolWork);
         dcolWork = new DataColumn("dateEnd", typeof(DateTime));
         dtblTasks.Columns.Add(dcolWork);
         dcolWork = new DataColumn("durEstimated", typeof(int));
         dtblTasks.Columns.Add(dcolWork);
         dcolWork = new DataColumn("durActual", typeof(int));
         dtblTasks.Columns.Add(dcolWork);
         dcolWork = 
            new DataColumn("strComments", typeof(string ));
         dtblTasks.Columns.Add(dcolWork);

         // Add the tables to the DataSet.
         dsetTimeTracker.Tables.Add(dtblProjects);
         dsetTimeTracker.Tables.Add(dtblTasks);

         // Create a DataRelation, and add it to the DataSet.
         dsetTimeTracker.Relations.Add(
            new DataRelation(
                     "ProjectTask", 
                     dtblProjects.Columns["strIdent"], 
                     dtblTasks.Columns["strProjIdent"]));

         //  Load the Projects DataTable from 
         //     the Projects ArrayList.
         foreach ( Project projWork in alProjects )
         {
            dtblProjects.Rows.Add(new object[] 
                                  { projWork.strIdent, 
                                    projWork.strName, 
                                    projWork.dateStart, 
                                    projWork.dateEnd, 
                                    projWork.ctTasks, 
                                    projWork.strComments});
         }

         foreach ( Task taskWork in alTasks )
         {
            dtblTasks.Rows.Add(new object[] 
                               { taskWork.strIdent, 
                                 taskWork.strProjIdent, 
                                 taskWork.strName, 
                                 taskWork.dateStart, 
                                 taskWork.dateEnd, 
                                 taskWork.durEstimated, 
                                 taskWork.durActual, 
                                 taskWork.strComments});
         }
      }

      #endregion

   }
}

⌨️ 快捷键说明

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