I have error SetCurrentCellAddressCore function
after typing in column m_product
in datagridview then I press Esc in keyboard.
Is there anything wrong with my code?
please guide me
Thanks
<code>Public Class Form2
Private list As BindingList(Of InvoicesDetailtest) = Nothing
Private BindingSource1 As BindingSource = Nothing
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
' To reduce the flickering...
DataGridView1.GetType().
GetProperty("DoubleBuffered",
BindingFlags.Instance Or BindingFlags.NonPublic).
SetValue(DataGridView1, True)
updateDataSource()
'Datagridview1.Focus()
End Sub
Private Sub updateDataSource()
' Our collection holding products
list = New BindingList(Of InvoicesDetailtest)()
' Create our medium between grid and collection
BindingSource1 = New BindingSource With {.DataSource = list}
DataGridView1.DataSource = BindingSource1
DataGridView1.AutoGenerateColumns = False
DataGridView1.AllowUserToAddRows = False
BindingSource1.AddNew()
End Sub
End Class
Public Class InvoicesDetailtest
Public Property m_product() As String
Public Property Qty() As Integer
End Class
</code>
<code>Public Class Form2
Private list As BindingList(Of InvoicesDetailtest) = Nothing
Private BindingSource1 As BindingSource = Nothing
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
' To reduce the flickering...
DataGridView1.GetType().
GetProperty("DoubleBuffered",
BindingFlags.Instance Or BindingFlags.NonPublic).
SetValue(DataGridView1, True)
updateDataSource()
'Datagridview1.Focus()
End Sub
Private Sub updateDataSource()
' Our collection holding products
list = New BindingList(Of InvoicesDetailtest)()
' Create our medium between grid and collection
BindingSource1 = New BindingSource With {.DataSource = list}
DataGridView1.DataSource = BindingSource1
DataGridView1.AutoGenerateColumns = False
DataGridView1.AllowUserToAddRows = False
BindingSource1.AddNew()
End Sub
End Class
Public Class InvoicesDetailtest
Public Property m_product() As String
Public Property Qty() As Integer
End Class
</code>
Public Class Form2
Private list As BindingList(Of InvoicesDetailtest) = Nothing
Private BindingSource1 As BindingSource = Nothing
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
' To reduce the flickering...
DataGridView1.GetType().
GetProperty("DoubleBuffered",
BindingFlags.Instance Or BindingFlags.NonPublic).
SetValue(DataGridView1, True)
updateDataSource()
'Datagridview1.Focus()
End Sub
Private Sub updateDataSource()
' Our collection holding products
list = New BindingList(Of InvoicesDetailtest)()
' Create our medium between grid and collection
BindingSource1 = New BindingSource With {.DataSource = list}
DataGridView1.DataSource = BindingSource1
DataGridView1.AutoGenerateColumns = False
DataGridView1.AllowUserToAddRows = False
BindingSource1.AddNew()
End Sub
End Class
Public Class InvoicesDetailtest
Public Property m_product() As String
Public Property Qty() As Integer
End Class
result error in file gif
result in diagnostic tool
6
According to the below link I got a solution :
link!
So I added the BeginEdit event datagridview then the error is solved
<code>Private Sub DataGridView1_CellBeginEdit(sender As Object, e As DataGridViewCellCancelEventArgs) Handles DataGridView1.CellBeginEdit
Dim currencyManager As CurrencyManager = CType(BindingContext(BindingSource1.DataSource), CurrencyManager)
currencyManager.SuspendBinding()
' Manipulate datasource
currencyManager.ResumeBinding()
End Sub
</code>
<code>Private Sub DataGridView1_CellBeginEdit(sender As Object, e As DataGridViewCellCancelEventArgs) Handles DataGridView1.CellBeginEdit
Dim currencyManager As CurrencyManager = CType(BindingContext(BindingSource1.DataSource), CurrencyManager)
currencyManager.SuspendBinding()
' Manipulate datasource
currencyManager.ResumeBinding()
End Sub
</code>
Private Sub DataGridView1_CellBeginEdit(sender As Object, e As DataGridViewCellCancelEventArgs) Handles DataGridView1.CellBeginEdit
Dim currencyManager As CurrencyManager = CType(BindingContext(BindingSource1.DataSource), CurrencyManager)
currencyManager.SuspendBinding()
' Manipulate datasource
currencyManager.ResumeBinding()
End Sub