从输入框跳转到明细表格并新增记录
作者:C/S框架网  发布日期:2011/07/09 15:25:42
  从输入框跳转到明细表格并新增记录

从输入框跳转到明细表格并新增记录


用户习惯按回车键跳转到下一个输入框,这是界面设计基本要求,提高用户体验。但有一种场景,就是在主表编辑区域最后一个文本输入框按回车键,要自动跳转到明细表格中,并且当表格无记录时要自动新增一条记录。


贴图图片


处理逻辑:


1.自动跳转到明细表格并设置焦点。


2.当明细表没有记录自动新增一条记录。


C# Code:


#region 主表最后一个输入框按回车,自动跳转到明细表格。
//
//处理细节:
//
// 1.自动跳转到明细表格并设置焦点。
// 2.当明细表没有记录自动新增一条记录。
//
private GridView _DetailView = null;

protected virtual void DoJumpToGrid(Control fromControl, GridView toGrid)
{
   //KeyDown事件,处理Enter/Tab键
   fromControl.KeyDown = new KeyEventHandler(OnFromControl_KeyDown);
   _DetailView = toGrid;
}

protected void OnFromControl_KeyDown(object sender, KeyEventArgs e)
{
   //KeyDown事件,处理Enter/Tab键
   if ((e.KeyCode == Keys.Enter) || (e.KeyCode == Keys.Tab))
   {
      e.Handled = true;
      
      _DetailView.Focus();
      
      if ((_DetailView.RowCount == 0) && (this.IsAddOrEditMode))
      {
         NavigatorButtonBase addButton = _DetailView.GridControl.EmbeddedNavigator.Buttons.CustomButtons[0];//新增按钮
         _DetailView.GridControl.EmbeddedNavigator.Buttons.DoClick(addButton);
      }
      
      _DetailView.FocusedRowHandle = 0;
      _DetailView.FocusedColumn = _DetailView.VisibleColumns[0];//第一个可见栏位
   }
}

#endregion

//来源:C/S框架网(www.csframework.com) QQ:1980854898



使用方法:在Form.Load事件内加上这行代码。


C# Code:

//在“国家、区域”输入框内按回车,自动跳转到明细表格并新增一新记录。
this.DoJumpToGrid(txtRegion, gvDetail);





C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务

上一篇 下一篇