Hi,
I have a problem using datatable.getChanges method with a radGridView binded on a datatable, changing values programmaticaly:
The first changed value is not in the datatable.getChanges results.
Here is a simple example :
Designer.vb
Form.vb
I expect 2 changes whereas i have only 1..
Is this a bug ?
Is there a workaround?
Thanks,
Gerald
I have a problem using datatable.getChanges method with a radGridView binded on a datatable, changing values programmaticaly:
The first changed value is not in the datatable.getChanges results.
Here is a simple example :
Designer.vb
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Class testTelerik Inherits System.Windows.Forms.Form 'Form remplace la méthode Dispose pour nettoyer la liste des composants. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then components.Dispose() End If Finally MyBase.Dispose(disposing) End Try End Sub 'Requise par le Concepteur Windows Form Private components As System.ComponentModel.IContainer 'REMARQUE : la procédure suivante est requise par le Concepteur Windows Form 'Elle peut être modifiée à l'aide du Concepteur Windows Form. 'Ne la modifiez pas à l'aide de l'éditeur de code. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() Dim GridViewTextBoxColumn1 As Telerik.WinControls.UI.GridViewTextBoxColumn = New Telerik.WinControls.UI.GridViewTextBoxColumn() Me.RadGridView1 = New Telerik.WinControls.UI.RadGridView() Me.RadButton1 = New Telerik.WinControls.UI.RadButton() CType(Me.RadGridView1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RadButton1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'RadGridView1 ' Me.RadGridView1.Location = New System.Drawing.Point(27, 34) ' 'RadGridView1 ' Me.RadGridView1.MasterTemplate.AllowAddNewRow = False Me.RadGridView1.MasterTemplate.AllowDeleteRow = False Me.RadGridView1.MasterTemplate.AllowEditRow = False Me.RadGridView1.MasterTemplate.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill GridViewTextBoxColumn1.FieldName = "Name" GridViewTextBoxColumn1.FormatString = "" GridViewTextBoxColumn1.HeaderText = "Name" GridViewTextBoxColumn1.Name = "column1" GridViewTextBoxColumn1.Width = 219 Me.RadGridView1.MasterTemplate.Columns.AddRange(New Telerik.WinControls.UI.GridViewDataColumn() {GridViewTextBoxColumn1}) Me.RadGridView1.Name = "RadGridView1" Me.RadGridView1.Size = New System.Drawing.Size(240, 150) Me.RadGridView1.TabIndex = 0 Me.RadGridView1.Text = "RadGridView1" ' 'RadButton1 ' Me.RadButton1.Location = New System.Drawing.Point(137, 212) Me.RadButton1.Name = "RadButton1" Me.RadButton1.Size = New System.Drawing.Size(130, 24) Me.RadButton1.TabIndex = 1 Me.RadButton1.Text = "RadButton1" ' 'testTelerik ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(292, 266) Me.Controls.Add(Me.RadButton1) Me.Controls.Add(Me.RadGridView1) Me.Name = "testTelerik" Me.Text = "testTelerik" CType(Me.RadGridView1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.RadButton1, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) End Sub Friend WithEvents RadGridView1 As Telerik.WinControls.UI.RadGridView Friend WithEvents RadButton1 As Telerik.WinControls.UI.RadButton End ClassForm.vb
Public Class testTelerik Public Sub New() ' Cet appel est requis par le concepteur. InitializeComponent() Dim dt As New DataTable dt.Columns.Add("Name", GetType(String)) Dim dr As DataRow = dt.NewRow dr("Name") = "Johnson" dt.Rows.Add(dr) dr = dt.NewRow dr("Name") = "Peter" dt.Rows.Add(dr) dt.AcceptChanges() RadGridView1.DataSource = dt End Sub Private Sub RadButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadButton1.Click Dim dt As DataTable = DirectCast(RadGridView1.DataSource, DataTable) RadGridView1.Rows(0).Cells(0).Value = "NewOne" RadGridView1.Rows(1).Cells(0).Value = "NewOne2" Dim changes As DataTable = dt.GetChanges MessageBox.Show(changes.Rows.Count.ToString + " change(s)") End SubEnd ClassI expect 2 changes whereas i have only 1..
Is this a bug ?
Is there a workaround?
Thanks,
Gerald