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

处理逻辑:
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
#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);
//在“国家、区域”输入框内按回车,自动跳转到明细表格并新增一新记录。
this.DoJumpToGrid(txtRegion, gvDetail);

其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
