【发布时间】:2011-05-04 08:31:22
【问题描述】:
我在尝试以编程方式更改绑定 DataGridView 的单元格内容时遇到问题。
我实现了一小段代码来显示问题。
执行以下步骤来重现问题:
- 启动示例
- 写标题内容新建一行
- CTRL+C 插入标题
- 移动到网格的空行以强制创建新行
- 标题单元格上的 CTRL+V
- 点击上一行(新行创建被取消)
- 再次单击空行以强制创建新行
- 例外:由于对象的当前状态,操作无效。
代码如下:
Public Class Form1
Private _dgv As New DataGridView
Private _Movies As New System.ComponentModel.BindingList(Of Movie)
Public Sub New()
InitializeComponent()
Me.Controls.Add(_dgv)
_dgv.Dock = DockStyle.Fill
_dgv.DataSource = _Movies
AddHandler _dgv.KeyDown, AddressOf DataGridView_KeyDown
End Sub
Private Sub DataGridView_KeyDown(sender As Object, e As KeyEventArgs)
If e.Control AndAlso e.KeyCode = Keys.V Then
_dgv.CurrentCell.Value = Clipboard.GetText
End If
End Sub
Public Class Movie
Public Property Title As String
End Class
End Class
我的实现肯定有问题,但我花了很多时间寻找解决方法,但没有成功。提前感谢您能给我的任何帮助。
【问题讨论】:
-
DataGridView 绑定到什么?
-
@Casey 绑定到 BindingList(Of Movie),全部写在示例代码中。
标签: vb.net winforms data-binding datagridview