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