vb.net - 当用户按 ENTER 时,在 datagridview 的单元格中创建一个新行
问题描述
在 vb.net 中创建的项目中,我有一个 datagridview,用户可以在其中直接输入数据。列是数量、描述、价格和总计。数量和价格列只接受数字和逗号,计算总列。我希望当用户编辑描述单元格时,如果按 ENTER 创建一个新行(crlf)。由于我在互联网上没有找到任何有用的例子,你能帮我吗?
解决方案
我看过你说的那个帖子。转换我得到的代码形式 c#
Public Class CustomDataGridViewTextBoxEditingControl
Inherits DataGridViewTextBoxEditingControl
Public Overrides Function EditingControlWantsInputKey(ByVal keyData As Keys, ByVal dataGridViewWantsInputKey As Boolean) As Boolean
Select Case keyData And Keys.KeyCode
Case Keys.Enter
Return True
Case Else
End Select
Return MyBase.EditingControlWantsInputKey(keyData, dataGridViewWantsInputKey)
End Function
Protected Overrides Sub OnKeyDown(ByVal e As KeyEventArgs)
Select Case e.KeyCode And Keys.KeyCode
Case Keys.Enter
Dim oldSelectionStart As Integer = Me.SelectionStart
Dim currentText As String = Me.Text
Me.Text = String.Format("{0}{1}{2}", currentText.Substring(0, Me.SelectionStart), Environment.NewLine, currentText.Substring(Me.SelectionStart + Me.SelectionLength))
Me.SelectionStart = oldSelectionStart + Environment.NewLine.Length
Case Else
End Select
MyBase.OnKeyDown(e)
End Sub
End Class
Public Class CustomDataGridViewTextBoxCell
Inherits DataGridViewTextBoxCell
Public Overrides ReadOnly Property EditType As Type
Get
Return GetType(CustomDataGridViewTextBoxEditingControl)
End Get
End Property
End Class
然后,在包含 datagridview(一个测试项目!)的表单中,我添加了
Private Sub Form3_Load(sender As System.Object, e As System.EventArgs) Handles
MyBase.Load
Dim col As DataGridViewColumn = Me.DataGridView2.Columns(2)
col.CellTemplate = New CustomDataGridViewTextBoxCell
End Sub
但不工作。怎么了?
推荐阅读
- oracle - Oracle Schedular 中的“INTERVAL=0”是什么意思?
- markdown - 在 GitHub markdown 中创建片段锚点的最佳方法是什么?
- python - 从网站读取多个 CSV 文件并将特定列连接到一个数据框中
- python - 使用索引对数据帧进行切片的函数
- machine-learning - 如何在 Julia 中将 DeepQLearning 用于非常大的状态?
- r - 基于多列和多行条件的嵌套条件语句
- python - 打印 torch.data.dataset 对象的值
- c# - ASP.NET CORE 全局方法操作方法/最佳实践
- python-2.7 - 我的 python 2 代码有什么问题,它包含一个 wii 遥控器,通过树莓派零 w 上的 GPIO 激活蜂鸣器?
- javascript - How to invert the structure of nested array of objects in Javascript?