vb.net 实现编辑某列并回车后不换行,查询数据进行相关处理
此功能适合,在datagridview中编辑数据。在编辑了某列之后按回车,我们并不一定想换到另一行,而有可能是编辑下一个列,默认的换到下一行就比较讨厌了。现在来解决这个问题:
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As BooleanIf DataGrid1.IsCurrentCellInEditMode = True Or DataGrid1.Focused = True ThenIf keyData = Keys.Return ThenIf DataGrid1.RowCount = 0 ThenReturn MyBase.ProcessCmdKey(msg, keyData)End IfDebug.Print(DataGrid1.CurrentCell.GetEditedFormattedValue(DataGrid1.CurrentRow.Index, New DataGridViewDataErrorContexts).ToString)Return TrueEnd IfElseReturn MyBase.ProcessCmdKey(msg, keyData)End IfEnd Function
debug.print这一行就是要取你正在编辑的那个单元格的内容,取到它之后,可以进行一些数据查询等工作,或者说决定用户能否在该列编辑这样的内容。
DataGrid1.IsCurrentCellInEditMode = True Or DataGrid1.Focused = True
这一句判断确保不影响在其它控件中按回车键。
这些处理完成之后,假如用户编辑的内容是允许的(比如年龄不是负数),那么你就可以继续下一步工作了。比如:
让后面单元格获得焦点
DataGrid1.Rows(DataGrid1.CurrentRow.Index).Cells(1).Selected = True 其中 cells(1)就是指定哪个列获得焦点,即当前行的某个列获得焦点。
只要你不指定哪个单元格获得焦点,当前正在编辑的单元格会仍然处于编辑状态,这样如果用户输入的数据是不允许的,可以加个提示,用户还能继续编辑。
换到下一行
If DataGrid1.CurrentRow.Index = DataGrid1.Rows.Count - 1 ThenDataGrid1.Rows.Add()
End If
DataGrid1.Item(0, DataGrid1.Rows.Count - 1).Selected = True
以上代码会让下一行的第0列获取焦点
vb.net 实现编辑某列并回车后不换行,查询数据进行相关处理相关推荐
- SAP 标准ALV实现单元格可编辑,插入可编辑的新行,敲下回车后更新数据
实现单元格可编辑: 假定将要显示在ALV屏幕上的内表名为:it_alv. 通过slis_fieldcat_alv-edit = 'X',将单元格所在列设为可编辑状态. 在it_alv的data定义里添 ...
- ediplus 复制编辑一列_EditPlus等编辑器选中列(块)的方法
EditPlus 1)菜单:编辑 -> 选择 -> 列选择 2)先按下 Alt + C ,释放,然后移动鼠标或键盘上下左右键进行选择 注意:在自动换行的模式下是不行的,改为不自动换行就行了 ...
- Qt实现双击可编辑的QLabel,输入文本后回车确定
功能 环境:VS2013 + Qt5.8 在一个QLabel标签上,双击,对文本进行编辑,按下回车或者Esc,退出编辑状态,或者任意点击其他地方,退出Focus,退出编辑状态 Demo下载:https ...
- Dynamic 365 子网格编辑控制列可编辑
Dynamic 365 子网格编辑控制列可编辑 DOCS告诉我们了怎么配置子网格编辑,直接上链接,这里就不阐述了. 链接 我今天的重点是,咱们在项目中,肯定会遇到这种需求,在特定的单据状态下,允许编辑 ...
- layui table 可编辑单元格 JS实现通过键盘上下左右键 光标焦点移动到旁边的编辑行/列
layui table 可编辑单元格 JS实现通过键盘上下左右键 光标焦点移动到旁边的编辑行/列 类似效果 上下左右键实现的代码 layui.config({base: '/static/layuia ...
- 转载非原创:修改BB 的内容,回车后修改CC 的值
原文 http://blog.csdn.net/iamah/article/details/8438981 修改BB 的内容,回车后修改CC 的值 步骤: 1. 注册类为对类CL_GUI_ALV_GR ...
- 转: 回车(CR)与换行(LF), '\r'和'\n'的区别
[转] 回车(CR)与换行(LF), '\r'和'\n'的区别 2011-03-15 21:11 转载自 Codefuture 最终编辑 Codefuture 一:回车"(Carriage ...
- word回车后间距太大_Word这些神奇的功能,你知道多少?学会这4招,工作不再发愁...
工作中,常常有朋友花费大量时间去学习excel和PPT,很少钻研word,仅仅认为word就是一文字编辑软件,会录入文字就可以了.其实不然,经常使用word的朋友肯定会感慨,它给了我们很多的惨痛教训, ...
- python回车换行怎么不行_解决pycharm回车之后不能换行或不能缩进的问题
解决pycharm回车之后不能换行或不能缩进的问题 如果不小心按到键盘上的Insert键的话,光标显示的就不是一条竖线,而是一个类似方块的阴影区域,比如 插入一下insert键的介绍:它叫插入键,缩写 ...
- 快速批量替换文档中的回车符与换行符,包括分节符、分页符的替换
通常我们在使用WPS文字或者Word时,可能会因为复制而产生很多的回车符;或者从网页复制的文字粘入Word时候,会带来大量换行符.怎样能批量去掉这些个小符号呢,下面的方法马上告诉你! WPS文字 ...
最新文章
- 《ABAQUS 6.14超级学习手册》——1.2 ABAQUS分析模块
- Shape Drawable Xml的background
- android o preview 3,Android O Preview 之 通知渠道(Notification Channels)
- C#中要使一个类支持FOREACH遍历,实现过程怎样? [转]
- Wannafly挑战赛17
- 将测微仪与Spring Boot 2一起使用
- java的六大_java程序员必备的六大工具!
- (王道408考研操作系统)第三章内存管理-第一节7:非连续分配管理方式之基本分段管理方式
- Linux——分区时出现This partition should be marked for use as an EFI boot partition
- PSD分层模板|解析垂直化内容电商页面设计
- Python关于File学习过程
- 初学者如何学习NLP?这里有一些最棒的项目推荐
- Windows7下UEFI开发EDK2环境搭建(VS2013+UDK2015+IASL+patch+Openssl)
- Deepin字体下载与安装
- 实例:用C#.NET手把手教你做微信公众号开发(1)--接入
- 从10万到百亿营收的背后 | 同程旅游CTO V课堂实录
- 计算机怎么格式化电脑吗,怎么格式化电脑
- 把linux,ssh客户端蓝色变成绿色
- Mybatis 入门到理解篇
- 外贸软件对出口公司的作用