GridView最后一列按回车键自动新增一条记录
GridView最后一列按回车键自动新增一条记录
在GridView表格最后一条记录的最后一栏按回车键新增一条记录。 GridView.OptionsNavigation有EnterMoveNextColumn的功能,即按回车自动将焦点移到下一列。但用户要求当移到最后一行最后一列时按回车要自动新增一条记录。
C# Code: /// <summary> /// 处理表格KeyDown事件。 /// <para>在表格最后一条记录的最后一栏按回车键新增一条记录</para> /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public static void OnDetailGridViewKeyDown(object sender, KeyEventArgs e) { if (!(e.KeyCode == Keys.Enter || e.KeyCode == Keys.Tab)) return; GridView view = (GridView)sender; //最后一条记录 if ((view.FocusedRowHandle == view.RowCount - 1) &&& IsLastEditableColumn(view, view.FocusedColumn)) { e.Handled = true; //下面代码: 最后可编辑栏位,则新增记录. Form dataForm = view.GridControl.FindForm(); if ((dataForm is frmBaseDataForm) & (view.GridControl.EmbeddedNavigator.Buttons.CustomButtons.Count > 0)) { NavigatorButtonBase addButton = view.GridControl.EmbeddedNavigator.Buttons.CustomButtons[0];//新增按钮 view.GridControl.EmbeddedNavigator.Buttons.DoClick(addButton); } } } private static bool IsLastEditableColumn(GridView view, GridColumn focusedColumn) { int idx = view.VisibleColumns.IndexOf(focusedColumn); for (int i = view.VisibleColumns.Count - 1; i >= 0; i--) { GridColumn col = view.VisibleColumns[i]; //忽略不可编辑Column if (!col.OptionsColumn.AllowEdit) continue; if (idx != i) return false; //非最后一个可编辑Column else return true; } return true; } //来源:C/S框架网(www.csframework.com) QQ:1980854898 在Form.Load事件内绑定GridView.KeyDown事件。 C# Code: gvDetail.KeyDown = new KeyEventHandler(GridMovetor.OnDetailGridViewKeyDown); 适用版本:所有框架版本。 GridMovetor类下载: 扫一扫加微信
参考文档:
基类窗体处理按回车键自动跳到下一输入控件 C# DataGridView 自动给新增记录当前单元格赋值 C# Winform 按回车键查找下一个可设置焦点的组件 新增功能输入产品编号及名称自动筛选数据 界面内按回车键自动激活下一个控件 表格内按回车键自动移动下一列, 最后行最后列自动新增记录 当查询表格的列点了排序,新增记录后定位记录有误 弹出窗体勾选多条记录自动添加到明细表 数据字典BLL.CreateDataBinder方法实现新增记录给主键赋值 DevExpress GridView表格记录位置调整,实现DataRow记录排序 新增记录时自动生成记录的序号号码(或单据号码)并填充文本框 原创:C#源码 GridMovetor按回车自动跳到下一列或自动新增记录(www.csframework.com) 原创:SQLJOB作业自动备份数据库并自动清除备份历史记录 DevExpress GridView获取主从表,主子表,子级二层表的当前记录(Master/Detail) C# DataGridView组件自动添加弹出菜单(ContextMenuStrip)复制单元格的值
其它资料:
什么是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内容管理系统 | |