在WinForm下利用CurrencyManager对数据集对象进行控制的类,大家多提意见

本文介绍了一个在C/S环境下用于WinForm的DataControl类,它利用CurrencyManager来方便地操作和控制DataSet对象,包括添加、删除、提交、取消等操作,并提供了事件处理功能,便于自定义业务逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人第一次在这里发表文章,我写的一个数据控制方面的类,在C/S下自己用的比较顺手,请大家给些建议

 public class DataControl
 {
  private CurrencyManager m_CM;
  public DataControl()
  {
   
  
  }

  /// <summary>
  /// 构建
  /// </summary>
  /// <param name="ds"></param>
  /// <param name="TableName"></param>
  /// <param name="SelfForm"></param>
  public DataControl(DataSet ds,string TableName,Form SelfForm)
  {
   this.m_CM=SelfForm.BindingContext[ds,TableName] as CurrencyManager ;
  }

  private DevExpress.XtraBars.BarStaticItem m_EditCount;

  public DevExpress.XtraBars.BarStaticItem EditCount
  {
   set
   {
    m_EditCount=value;
   }
  }

  private TextBox m_EditCurrentNum;

  public TextBox EditCurrentNum
  {
   set
   {
    m_EditCurrentNum=value;
   }
  }

  private System.Windows.Forms.StatusBarPanel m_DataPanel;
  public System.Windows.Forms.StatusBarPanel DataPanel
  {
   set
   {
    m_DataPanel=value;
   }
  }


  /// <summary>
  /// 数据管理者
  /// </summary>
  public CurrencyManager CM
  {
   set
   {
    m_CM=value;
    if (m_CM!=null)
    {
     this.CM.PositionChanged-=new EventHandler(CM_PositionChanged);
     this.CM.PositionChanged+=new EventHandler(CM_PositionChanged);
     if (m_EditCount!=null)
     {
      m_EditCount.Caption=this.m_CM.Count.ToString();
      int intCur=this.m_CM.Position+1;
      m_EditCurrentNum.Caption=intCur.ToString();
     }
    }
    else
    {
     m_CM=null;
     if (m_EditCount!=null)
     {
      m_EditCount.Caption="0";
      m_EditCurrentNum.Caption="0";
     }
    }
   }
   get{return m_CM;}
  }

 
  /// <summary>
  /// 添加一条空记录
  /// </summary>
  public void Add()
  {
   if (m_CM!=null)
   {
    if (beforeInsert!=null)
    {
     beforeInsert(this.CM);
    }
    m_CM.AddNew();
    if (afterInsert!=null)
    {
     afterInsert(this.CM);
&nb

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值