EditForms example code using a User Control page

This is a complete example for the RadGrid EDITFORMS edit mode. The grid will call and load a user control and use that for editing

Front side:

<%@ Page Title="Home Page" Language="VB" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.vb" Inherits="PMApp._Default" %>
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
 
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
 
    <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" >
           <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False"   ClientSettings-Scrolling-SaveScrollPosition="true"
               MasterTableView-CommandItemSettings-ShowAddNewRecordButton="false"
               AllowPaging="true" PageSize="25" Width="100%"  >
               
                <MasterTableView  DataKeyNames="PAProjNumber" CommandItemDisplay="Top" EditMode="EditForms">
                    <Columns>
                        <telerik:GridButtonColumn CommandName="Edit"  ButtonType ="ImageButton" HeaderStyle-Width="70px" UniqueName="EditColumn"></telerik:GridButtonColumn>
                        <telerik:GridBoundColumn ReadOnly="true" HeaderText="Project" DataField="paprojnumber" UniqueName="paprojnumber"  ></telerik:GridBoundColumn>
                        <telerik:GridBoundColumn ReadOnly="true" HeaderText="Code" DataField="PACOSTCATID" UniqueName="PACOSTCATID"  ></telerik:GridBoundColumn>
                    </Columns>
                    <EditFormSettings UserControlName="ProjectEdit.ascx" EditFormType="WebUserControl">
                        <EditColumn UniqueName="EditCommandColumn1">
                        </EditColumn>
                    </EditFormSettings>
 
                </MasterTableView>
 
           </telerik:RadGrid>
</telerik:RadAjaxPanel>
 
 
</asp:Content>

Code Behind:

Imports Telerik.Web.UI
 
Public Class _Default
    Inherits Page
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
 
    End Sub
 
    Private Sub RadGrid1_NeedDataSource(sender As Object, e As GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource
        Me.RadGrid1.DataSource = SPs.dd_PA01201_SEL().getTable
    End Sub
End Class

Edit Page (ascs) Front side:

<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="ProjectEdit.ascx.vb" Inherits="PMApp.ProjectEdit" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
 
<table>
    <tr>
        <td>ProjectID</td>
        <td><telerik:RadTextBox runat="server" Enabled="false" ID="txtProjNumber" ></telerik:RadTextBox> </td>
    </tr>
    <tr>
        <td>Project Desc</td>
        <td><telerik:RadTextBox runat="server" ID="txtProjDesc"></telerik:RadTextBox></td>
    </tr>
    <tr>
        <td><telerik:radbutton runat="server" ID="btnSave" Text="Save"></telerik:radbutton></td>
        <td><telerik:radbutton runat="server" ID="btnCancel" Text="Cancel"></telerik:radbutton></td>
    </tr>
</table>

Edit Page code behind

 

 

Imports Telerik.Web.UI
 
Public Class ProjectEdit
    Inherits System.Web.UI.UserControl
    Private _dataItem As Object = Nothing
    Public Property DataItem As Object
        'this piece of code allows the text boxes to populate.
        Get
            Return Me._dataItem
        End Get
        Set(ByVal value As Object)
            Me._dataItem = value
        End Set
    End Property
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim strProjNumber As String
        Dim editedItem As GridEditableItem = Me.Parent.NamingContainer
        strProjNumber = editedItem.OwnerTableView.DataKeyValues(editedItem.ItemIndex)("PAProjNumber")
 
        Dim oPA01201 As New PA01201(strProjNumber)
        Me.txtProjNumber.Text = strProjNumber
        Me.txtProjDesc.Text = oPA01201.PAprojname
 
    End Sub
 
    Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
 
        Dim editedItem As GridEditableItem = Me.Parent.NamingContainer
        Dim strProjNumber As String = editedItem.OwnerTableView.DataKeyValues(editedItem.ItemIndex)("PAProjNumber")
 
        Dim strProjName As String = Me.txtProjDesc.Text
 
        'data access code here to save
 
 
        editedItem.OwnerTableView.OwnerGrid.MasterTableView.ClearEditItems()
        editedItem.OwnerTableView.OwnerGrid.MasterTableView.Rebind()
 
    End Sub
 
    Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click
        Dim editedItem As GridEditableItem = Me.Parent.NamingContainer
        editedItem.OwnerTableView.OwnerGrid.MasterTableView.ClearEditItems()
        editedItem.OwnerTableView.OwnerGrid.MasterTableView.Rebind()
 
    End Sub
 
    Private Sub ddlTest_PreRender(sender As Object, e As EventArgs) Handles ddlProjectManager.PreRender
 
        Dim editedItem As GridEditableItem = Me.Parent.NamingContainer
        Dim strProjNumber As String = editedItem.OwnerTableView.DataKeyValues(editedItem.ItemIndex)("PAProjNumber")
 
        Me.ddlProjectManager.DataSource = SPs.dd_ProjectManager_SEL.getTable()
        Me.ddlProjectManager.DataTextField = "FULLNAME"
        Me.ddlProjectManager.DataValueField = "EMPLOYID"
        Me.ddlProjectManager.DataBind()
 
        ' Find the currently assigned project manager and make it the default selected item
        Dim oPA01201 As New PA01201(strProjNumber)
        Me.ddlProjectManager.SelectedValue = oPA01201.PAprojmngrid
        '        Me.ddlProjectManager.SelectedIndex = 3
    End Sub
 
End Class

 

 

 

 



RealWorldCode gives developers practical, real‑world solutions with clean, working code — no fluff, no theory, just answers.
Links
Home
Knowledge Areas
Sitemap
Contact
Et cetera
Privacy Policy
Terms and Conditions
Cookie Preferences