← 返回所有博客文章

Spread 表格控件广泛应用于数据展示、录入及校验,在进行数据录入操作时,使用快捷键可以大大提高操作效率。Spread 提供了丰富的事件机制可以捕捉针对单元格的操作,其中 Change 即可以捕捉单元格数据改变。但是有用户反映该事件无法捕获 Ctrl + V  键盘操作,并且希望能够通过 Change事件统一处理数据操作。本文即将阐述如何在使 Change 事件捕获键盘操作。

下面分布阐述:

1.添加 Spread PreviewKeyDown 和 Change 事件:

  1: private void Form1_Load(object sender, EventArgs e)
  2: {
  3:       this.fpSpread1.Change += new FarPoint.Win.Spread.ChangeEventHandler(fpSpread1_Change);
  4:       this.fpSpread1.PreviewKeyDown += new PreviewKeyDownEventHandler(fpSpread1_PreviewKeyDown);
  5: }

 

2.在 PreviewKeyDown 事件中判断快捷键:

  1: if (e.Control&&e.KeyCode== Keys.V)
  2: {
  3: }

 

3.构造 Change 事件参数,调用 Change 事件:

  1: int row=this.fpSpread1.ActiveSheet.ActiveRowIndex;
  2: int col = this.fpSpread1.ActiveSheet.ActiveColumnIndex;
  3: FarPoint.Win.Spread.ChangeEventArgs param=new ChangeEventArgs(null,row,col);
  4: fpSpread1_Change(null, param);

 

以上即为实现方法。

Demo 下载:VS2010 && Spread for Winforms 7.0 && .NET 4.0 && C# 点击下载