Search code examples
telerikradgrid

Telerik RadGrid - How do I set default data on insert?


When I click on the add record button I want one of my columns to have a default value in it. How do I do this in the code behind? It is a dynamic date and can change all the time?


Solution

  • If the column is not a GridTemplateColumn, you can specify a default value using the column's DefaultInsertValue property, like this:

    <telerik:GridBoundColumn DefaultInsertValue="12/21/2012" DataType="System.DateTime" DataField="Column1" UniqueName="Column1"></telerik:GridBoundColumn>
    

    Otherwise, if it is a GridTemplateColumn, take a look at the following Telerik article :

    Inserting Values Using InPlace and EditForms Modes

    Update:

    You can also specify the default column values using the ItemCommand method in your code-behind:

    Protected Sub RadGrid1_ItemCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGrid1.ItemCommand
        If (e.CommandName = RadGrid.InitInsertCommandName) Then
            'cancel the default operation
            e.Canceled = True
    
            'Prepare an IDictionary with the predefined values
            Dim newValues As System.Collections.Specialized.ListDictionary = New System.Collections.Specialized.ListDictionary()
            newValues("Column1") = New DateTime(2013, 1, 22)
            newValues("Column2") = "hello"
            newValues("Column3") = Nothing
    
            'Insert the item and rebind
            e.Item.OwnerTableView.InsertItem(newValues)
        End If
    End Sub