Hi,
I have problem RadGrid Templated items as following:
As known Telerik provides ability to use templated Edit Form to insert/ edit data, problem we are facing is adding new record from the Grid edit form opened via add new record link that opens the template form, all entered data inside the template controls inside template form will be lost if user pressed any action button such edit button for another record (GridItem) or press again on add new record link that opens the templated form
I need to preserve any entered data inside templated control at the runtime regardless to another action being done to the same RadGrid.
please refer to this video to view the scenario
http://screencast.com/t/kfIBbdC7EyGm
any help,
<
telerik:RadWindow
ID
=
"RadWindow1"
runat
=
"server"
Modal
=
"True"
NavigateUrl
=
"windows/partnerships.aspx"
OpenerElementID
=
"divPartnerships"
Animation
=
"Fade"
Behaviors
=
"Close,Move"
Skin
=
"Black"
VisibleStatusbar
=
"False"
Height
=
"750px"
Width
=
"850px"
OnClientClose
=
"OnClientClose"
>
</
telerik:RadWindow
>
<
telerik:RadWindow
ID
=
"RadWindow3"
runat
=
"server"
NavigateUrl
=
"windows/careers.aspx"
Skin
=
"Black"
Animation
=
"Fade"
Modal
=
"True"
width
=
"530px"
height
=
"300px"
OpenerElementID
=
"divCareers"
Behaviors
=
"Close,Move,Resize"
VisibleStatusbar
=
"False"
ShowContentDuringLoad
=
"False"
>
</
telerik:RadWindow
>
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" style="z-index:1; position:absolute; top:2500px;left:10px;"> |
<telerik:RadPanelBar runat="server" ID="RadPanelBar1" ExpandMode="SingleExpandedItem" Width="740px"> |
<Items> |
<telerik:RadPanelItem Expanded="True" Text="Step 1: Test" runat="server" Selected="true"> |
<Items> |
<telerik:RadPanelItem Value="AccountInformation" runat="server"> |
<ItemTemplate> |
<div style="background-color: #edf9fe"> |
<asp:Label ID="Label12" runat="server" Text="Project Search" style="width: 137px; font-weight: 700;"></asp:Label><br /> |
<asp:Label ID="Label9" runat="server" Text="Project Name:" style="width: 113px; text-align: right;"></asp:Label><br /> |
<telerik:RadComboBox ID="projectNameRadComboBox" runat="server" AutoPostBack="true" ZIndex="99999" Width="250px"></telerik:RadComboBox><br /> |
<telerik:RadAjaxManager runat="server" ID="RadAjaxManager1" > |
<AjaxSettings> |
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="RadAjaxManager1" /> |
<telerik:AjaxUpdatedControl ControlID="projectNameRadComboBox" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
</AjaxSettings> |
</telerik:RadAjaxManager> |
<asp:Label ID="Label2" runat="server" Text="Identifier:"></asp:Label><br /> |
<asp:TextBox ID="identifierTextBox" runat="server" Width="250px"></asp:TextBox><br /> |
<asp:Label ID="Label13" runat="server" Text="Project Group:" style="text-align: right;"></asp:Label><br /> |
<telerik:RadComboBox ID="projectGroupRadComboBox" runat="server" ZIndex="99999" Width="250px"></telerik:RadComboBox><br /> |
<asp:Button ID="projectSearchButton" runat="server" Text="Search" SkinID="smallGreenButton" Width="50px" onclick="projectSearchButton_Click" /><br /> |
<br /> |
<br /> |
<br /> |
</div> |
</ItemTemplate> |
</telerik:RadPanelItem> |
</Items> |
</telerik:RadPanelItem> |
IQueryable allProjectName = Project.GetAllBindings(); |
this.projectNameRadComboBox.DataSource = allProjectName; |
this.projectNameRadComboBox.DataValueField = "ID"; |
this.projectNameRadComboBox.DataTextField = "Name"; |
this.projectNameRadComboBox.DataBind(); |
this.projectNameRadComboBox.Filter = RadComboBoxFilter.Contains; |
Imports System.Web
Imports Telerik.Web.UI
Partial Class MARS3MainMenu
Inherits System.Web.UI.Page
Dim security As New Security
Dim sess As New GlobalProperties
Dim da As New DataAccess
Dim menuInfo As New DataTable
Dim securityLoginRole As String = String.Empty
Dim WithEvents marsMenu As New RadMenu
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
Dim computerName As String = Environment.MachineName.ToString()
' =================================================================
' IMPORTANT
' In order for the System.Web.HttpContext.Current.User.Identity.Name.ToString()
' to pull the loggin name of the user the following needs to be changed on the
' IIS server running the website:
' Under Authentication 'Anonymous Authentication must be disabled and
' 'Windows Authentication must be enabled.
' If this is not done, no user information will be returned.
Dim userName As String
userName = System.Web.HttpContext.Current.User.Identity.Name.ToString()
' =================================================================
Dim userLength As Int32 = userName.Length
Dim userIndexOf As Int32 = userName.IndexOf(Chr(92)) + 1
userName = userName.Substring(userIndexOf, userLength - userIndexOf)
Dim userInfo As New DataTable()
userInfo = security.GetMARSUserInformation(userName)
Dim userInformation As String = userInfo.Rows(0)("FullName")
securityLoginRole = userInfo.Rows(0)("MARSGroupName")
If String.IsNullOrEmpty(userInformation) Or String.IsNullOrEmpty(securityLoginRole) Then
Response.Redirect("MARS3LoginErrorPage.aspx")
End If
sess.UserLoggedIn = True
sess.UserLogin = userName
sess.UserName = userInfo.Rows(0)("FullName")
sess.UserID = userInfo.Rows(0)("SalesID")
sess.UserRole = securityLoginRole
Master.MenuButtonVisible = False
Master.LabelReportBeingRun = "Main Menu"
' sess.UserRole
PopulateMenu()
End If
End Sub
Private Sub PopulateMenu()
AddHandler marsMenu.ItemClick, AddressOf marsMenu_ItemClick
marsMenu.Flow = ItemFlow.Vertical
menuInfo = da.BuildMenuInformation()
For Each row As DataRow In menuInfo.Rows
Dim hierarchyLevel As Int16 = Convert.ToInt16(row("HierarchyLevel"))
Dim item As RadMenuItem
Select Case hierarchyLevel
Case 1
If row(securityLoginRole) = "Y" Then
Dim level1 As RadMenuItem = New RadMenuItem(row("ItemName").ToString())
level1.Value = row("ItemID").ToString()
marsMenu.Items.Add(level1)
End If
Case 2
If row(securityLoginRole) = "Y" Then
Dim level2 As RadMenuItem = New RadMenuItem(row("ItemName").ToString())
level2.Value = row("ItemID").ToString()
item = marsMenu.FindItemByValue(row("ParentLevel").ToString())
item.Items.Add(level2)
End If
Case 3
If row(securityLoginRole) = "Y" Then
Dim level3 As RadMenuItem = New RadMenuItem(row("ItemName").ToString())
level3.Value = row("ItemID").ToString()
item = marsMenu.FindItemByValue(row("ParentLevel").ToString())
item.Items.Add(level3)
End If
End Select
Next
Panel1.Controls.Add(marsMenu)
End Sub
Protected Sub marsMenu_ItemClick(ByVal sender As Object, ByVal e As RadMenuEventArgs) Handles marsMenu.ItemClick
iFrame1.Attributes("src") = "SearchOptions.aspx"
End Sub
End Class
ASPX Page:
<%@ Page Language="VB" MasterPageFile="~/MasterPageReports.master" AutoEventWireup="true"
Inherits="MARS3_VBNET.MARS3MainMenu" Title="MARS Main Menu" CodeBehind="MARS3MainMenu.aspx.vb" %>
<%@ Register Src="CustomControls/ReportOptions.ascx" TagName="ReportOptions" TagPrefix="uc1" %>
<%@ Register Src="CustomControls/ReportSearchCriteria.ascx" TagName="ReportSearchCriteria"
TagPrefix="uc2" %>
<%@ MasterType VirtualPath="~/MasterPageReports.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<style type="text/css">
.style6
{
width: 203px;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table cellpadding="3px">
<tr>
<td>
<asp:Label ID="lblReportingOptions" runat="server" Text="Report Menu" Width="124px"
Font-Underline="true"></asp:Label>
</td>
</tr>
<tr>
<td valign="top">
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
</td>
<td>
<asp:Label ID="Label2" runat="server" Text="Microage" Width="150" ForeColor="White" ></asp:Label>
</td>
<td>
<iframe id="iFrame1" width="755" height="490" runat="server" ></iframe>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="MicroAge" Visible="false"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Button ID="Button1" runat="server" Text="Submit" CssClass="btnGradientRed" />
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
<br />
</asp:Content>