• 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;
      }
     }
    }

  • 相关阅读:
    c#创建对象并动态添加属性
    js从$scope外部调用$scope内部函数,跨js调用非全局函数
    JQuery中$.ajax()方法参数详解
    c#关于int(或其他类型)的字段在对象初始化时默认初始化问题的解决方法
    SQLServer中存储过程StoredProcedure创建及C#调用(转)
    2020年将热门的8大IT职业领域
    2015总结+2016计划
    hadoop程序在本地模式调试作业
    Flume+Kafka+storm的连接整合
    scp 和 pscp
  • 原文地址:https://www.cnblogs.com/admin11/p/213594.html
Copyright © 2020-2023  润新知