此功能适合,在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 实现编辑某列并回车后不换行,查询数据进行相关处理相关推荐

  1. SAP 标准ALV实现单元格可编辑,插入可编辑的新行,敲下回车后更新数据

    实现单元格可编辑: 假定将要显示在ALV屏幕上的内表名为:it_alv. 通过slis_fieldcat_alv-edit = 'X',将单元格所在列设为可编辑状态. 在it_alv的data定义里添 ...

  2. ediplus 复制编辑一列_EditPlus等编辑器选中列(块)的方法

    EditPlus 1)菜单:编辑 -> 选择 -> 列选择 2)先按下 Alt + C ,释放,然后移动鼠标或键盘上下左右键进行选择 注意:在自动换行的模式下是不行的,改为不自动换行就行了 ...

  3. Qt实现双击可编辑的QLabel,输入文本后回车确定

    功能 环境:VS2013 + Qt5.8 在一个QLabel标签上,双击,对文本进行编辑,按下回车或者Esc,退出编辑状态,或者任意点击其他地方,退出Focus,退出编辑状态 Demo下载:https ...

  4. Dynamic 365 子网格编辑控制列可编辑

    Dynamic 365 子网格编辑控制列可编辑 DOCS告诉我们了怎么配置子网格编辑,直接上链接,这里就不阐述了. 链接 我今天的重点是,咱们在项目中,肯定会遇到这种需求,在特定的单据状态下,允许编辑 ...

  5. layui table 可编辑单元格 JS实现通过键盘上下左右键 光标焦点移动到旁边的编辑行/列

    layui table 可编辑单元格 JS实现通过键盘上下左右键 光标焦点移动到旁边的编辑行/列 类似效果 上下左右键实现的代码 layui.config({base: '/static/layuia ...

  6. 转载非原创:修改BB 的内容,回车后修改CC 的值

    原文 http://blog.csdn.net/iamah/article/details/8438981 修改BB 的内容,回车后修改CC 的值 步骤: 1. 注册类为对类CL_GUI_ALV_GR ...

  7. 转: 回车(CR)与换行(LF), '\r'和'\n'的区别

    [转] 回车(CR)与换行(LF), '\r'和'\n'的区别 2011-03-15 21:11 转载自 Codefuture 最终编辑 Codefuture 一:回车"(Carriage ...

  8. word回车后间距太大_Word这些神奇的功能,你知道多少?学会这4招,工作不再发愁...

    工作中,常常有朋友花费大量时间去学习excel和PPT,很少钻研word,仅仅认为word就是一文字编辑软件,会录入文字就可以了.其实不然,经常使用word的朋友肯定会感慨,它给了我们很多的惨痛教训, ...

  9. python回车换行怎么不行_解决pycharm回车之后不能换行或不能缩进的问题

    解决pycharm回车之后不能换行或不能缩进的问题 如果不小心按到键盘上的Insert键的话,光标显示的就不是一条竖线,而是一个类似方块的阴影区域,比如 插入一下insert键的介绍:它叫插入键,缩写 ...

  10. 快速批量替换文档中的回车符与换行符,包括分节符、分页符的替换

    通常我们在使用WPS文字或者Word时,可能会因为复制而产生很多的回车符;或者从网页复制的文字粘入Word时候,会带来大量换行符.怎样能批量去掉这些个小符号呢,下面的方法马上告诉你!    WPS文字 ...

最新文章

  1. 《ABAQUS 6.14超级学习手册》——1.2 ABAQUS分析模块
  2. Shape Drawable Xml的background
  3. android o preview 3,Android O Preview 之 通知渠道(Notification Channels)
  4. C#中要使一个类支持FOREACH遍历,实现过程怎样? [转]
  5. Wannafly挑战赛17
  6. 将测微仪与Spring Boot 2一起使用
  7. java的六大_java程序员必备的六大工具!
  8. (王道408考研操作系统)第三章内存管理-第一节7:非连续分配管理方式之基本分段管理方式
  9. Linux——分区时出现This partition should be marked for use as an EFI boot partition
  10. PSD分层模板|解析垂直化内容电商页面设计
  11. Python关于File学习过程
  12. 初学者如何学习NLP?这里有一些最棒的项目推荐
  13. Windows7下UEFI开发EDK2环境搭建(VS2013+UDK2015+IASL+patch+Openssl)
  14. Deepin字体下载与安装
  15. 实例:用C#.NET手把手教你做微信公众号开发(1)--接入
  16. 从10万到百亿营收的背后 | 同程旅游CTO V课堂实录
  17. 计算机怎么格式化电脑吗,怎么格式化电脑
  18. 把linux,ssh客户端蓝色变成绿色
  19. Mybatis 入门到理解篇
  20. 外贸软件对出口公司的作用

热门文章

  1. Dreamweaver(Dw)2021软件下载及安装教程并创建一个网页
  2. DBN(深度置信网络)解析
  3. 无主之地1代人物和故事背景…
  4. 手机长度px值_深度讲解VIEWPORT和PX是什么?移动端单位px,em,rem
  5. KiCad下载及安装教程
  6. C语言-数组的趣味应用-筛法求素数
  7. 车辆运动学模型和动力学模型
  8. DWG 、DXF格式互转、CAD版本转换,记住一个就能快速提高你的工作效率!
  9. svchost.exe进程内存占用过高案例解决方案一例
  10. NRF24L01+模块:一对一双向通信,成功!