zoukankan      html  css  js  c++  java
  • C/S中的MVC(2) 荣

    using System;
    using System.Data;
    using System.Windows.Forms;

    using Business;

    namespace Business.Base
    {
     /// <summary>
     /// Description:Form窗体的基类。
     ///              在各个窗体中,有一个DataSet用来存储取得的初始数据,
     ///              该DataSet用dataSet表示。
     ///              在dataSet中,包含了一个名称为Meta的DataTable,
     ///              该DataTable用dataTable表示。
     ///              当调用该类时,首先给dataTable添加一行数据,
     ///              其中存储了该窗体的名称。
     ///              在本类中,设置了抽象函数SetColumn,它的功能就是给dataTable
     ///              设置其它需要的列。另外,本类还有一个Obj变量,用来传输其它
     ///              初始化时候用到的数据。
     ///              抽象函数Initial的作用是初始化窗体的控件。
     /// </summary>
     public abstract class FormBN
     {
      /// <summary>
      ///初始化的时候,用来传递数据的对象。
      /// </summary>
      private object Obj;

      /// <summary>
      /// Description:初始化窗体。
      /// </summary>
      /// <param name="ds">存储初始数据的DataSet</param>
      protected abstract void Initial(DataSet ds);

      /// <summary>
      /// Description:设置DataSet中Table的列。
      /// </summary>
      /// <param name="ds">存储初始数据的DataSet</param>
      protected abstract void SetColumn(DataSet ds);

      /// <summary>
      /// Description:构造函数。
      /// </summary>
      /// <param name="ds">存储数据的DataSet</param>
      /// <param name="form">当前窗体</param>
      /// <param name="Object">初始对象</param>
      public FormBN(DataSet ds, Form form, object Object)
      {
       ds = GetData();

       Obj = Object;

       DataRow dr = ds.Tables[FormCommonBN.DTNAME].NewRow();
       dr[FormCommonBN.FORMNAME] = form.Name;
       ds.Tables[FormCommonBN.DTNAME].Rows.Add(dr);
      }

      /// <summary>
      ///  Description:取得窗体初始化数据。
      /// </summary>
      /// <param name="ds">存储数据的DataSet</param>
      public void GetInitialData(DataSet ds)
      {
       // 如果DataTable为空,则出错
       if ((ds.Tables[FormCommonBN.DTNAME] == null) ||
        (ds.Tables[FormCommonBN.DTNAME].Rows.Count<= 0))
       {
        throw new Exception("没有取得需要的数据。");
       }

       // 初始化窗体
       Initial(ds);
      }

      /// <summary>
      /// Description:取得页面需要的DataSet。
      /// </summary>
      /// <returns>页面需要的DataSet</returns>
      public DataSet GetData()
      {
       DataSet ds = new DataSet();
       ds.Tables.Add(FormCommonBN.DTNAME);

       //存储页面名称
       ds.Tables[FormCommonBN.DTNAME].Columns.Add(FormCommonBN.FORMNAME,typeof(string));

       //设置其它列
       SetColumn(ds);
       return ds;
      }
     }
    }

  • 相关阅读:
    加载与隐藏显示
    Task 自我总结认知
    修复SDF数据库引擎C#代码
    Windows防火墙开启后 ping不通了 的解决方案
    C# 串口
    WPF DataGrid中单元格运用Combobox的示例
    组合模式
    适配器模式
    【转载】.net 动态代理
    python数组操作
  • 原文地址:https://www.cnblogs.com/admin11/p/213594.html
Copyright © 2011-2022 走看看