Skip to main content
A newer version of this page is available. .

InitNewRowEventArgs Class

Provides data for the TableView.InitNewRow event.

Namespace: DevExpress.Xpf.Grid

Assembly: DevExpress.Xpf.Grid.v17.2.dll

Declaration

public class InitNewRowEventArgs :
    RoutedEventArgs

Remarks

When an end-user starts to edit the new item row, the TableView.InitNewRow event is raised, allowing you to initialize the required fields within the new record. The new row’s handle is returned by the InitNewRowEventArgs.RowHandle property.

To learn more, see New Item Row.

Example

This example demonstrates how to automatically initialize cells displayed within the New Item Row, with default values. To do this, the InitNewRow event is handled.

Imports DevExpress.Xpf.Grid
Imports System.Collections.ObjectModel
Imports System.Windows

Namespace DXGrid_NewItemRow
    Partial Public Class Window1
        Inherits Window

        Public Sub New()
            InitializeComponent()
            Me.DataContext = New MyViewModel()
        End Sub


        Private Sub TableView_InitNewRow(ByVal sender As Object, ByVal e As InitNewRowEventArgs)
            grid.SetCellValue(e.RowHandle, "UnitPrice", 10)
            grid.SetCellValue(e.RowHandle, "CompanyName", "newcompany")
            grid.SetCellValue(e.RowHandle, "Discontinued", False)
        End Sub

        Private Sub TableView_ValidateRow(ByVal sender As Object, ByVal e As GridRowValidationEventArgs)
            If e.Row Is Nothing Then
                Return
            End If
            If e.RowHandle = GridControl.NewItemRowHandle Then
                e.IsValid = Not String.IsNullOrEmpty(CType(e.Row, Person).ProductName)
                e.Handled = True
            End If
        End Sub

        Private Sub TableView_InvalidRowException(ByVal sender As Object, ByVal e As InvalidRowExceptionEventArgs)
            If e.RowHandle = GridControl.NewItemRowHandle Then
                e.ErrorText = "Please enter the Product name. "
                e.WindowCaption = "Input Error"
            End If
        End Sub
    End Class

    Public Class MyViewModel
        Public Sub New()
            CreateList()
        End Sub

        Public Property PersonList() As ObservableCollection(Of Person)
        Private Sub CreateList()
            PersonList = New ObservableCollection(Of Person)()
            For i As Integer = 0 To 2
                Dim p As New Person(i)
                PersonList.Add(p)
            Next i
        End Sub
    End Class
    Public Class Person
        Public Sub New()
        End Sub
        Public Sub New(ByVal i As Integer)
            ProductName = "ProductName" & i
            CompanyName = "CompanyName" & i
            UnitPrice = i
            Discontinued = i Mod 2 = 0
        End Sub

        Public Property ProductName() As String

        Public Property CompanyName() As String

        Public Property UnitPrice() As Integer

        Public Property Discontinued() As Boolean
    End Class
End Namespace

The following code snippets (auto-collected from DevExpress Examples) contain references to the InitNewRowEventArgs class.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

Inheritance

See Also