When teh button is clicked it brings up a window that contains access to a google map. The user can select a location on teh map and click a submit button and the address of the location on the map is placed in the text box on the edit form in the grid.
The only way van get this to work is to access the text box as a fully qualified element name
i.e.
document.getElementById(
"ctl00_ContentPlaceHolder1_JobGrid_ctl00_ctl02_ctl02_txtLocation").value = place;
The problem I am ruinning into is that the element name is different for each row in the grid for example
this is the element name for the first row in the grid when the edit form is opened.
document.getElementById("ctl00_ContentPlaceHolder1_JobGrid_ctl00_ctl05_txtLocation").value = place;
So my question is; how can I get access to the text box on the edit form regardless of which row is being edited. I am using javascript on the client side to interact with the text box so it needs to be a client side solution not a server side solution.
Thanks
Rod
4 Answers, 1 is accepted

You can go through the following code library submission link which demonstrates how to access Grid Template Controls on the client side.
Accessing server controls in a grid template on the client
You can also go through the following code library submission link which demonstrates how to store the client id of the control editor in window object attribute (global scope variable) and then trace the control on the client using the document.getElementById(id) method.
Retrieving grid editor value client side
Thanks
Princy.

registeredElements.length is zero. Search for var registeredElements = []; in the markup attached. Please advise. See entire markup below.
GetChargeAnnualAmount() gets executed onblur:
Below returns null. I think the key point hear is that the grid is in a web user control.
var serverID = "tbucRDAmount";
var txtAmount = GetRegisteredServerElement(serverID);
//global DOM ID registry. filled up by scripts rendered from templates.
var registeredElements = [];
//looks for an element that has been registered with the global array
//requires that we emit a registration script block for each server control
function GetRegisteredServerElement(serverID) {
//debugger;
return;
var clientID = "";
for (var i = 0; i < registeredElements.length; i++)
{
clientID = registeredElements[i];
if (clientID.indexOf(serverID) >= 0)
break;
}
return $get(clientID);
}
function GetChargeAnnualAmount(FromPSF) {
debugger;
//return;
var PaymentType = document.getElementById('<%=hfPaymentType.ClientID %>').value;
var OrigPSF = document.getElementById('<%=hfOrigPSF.ClientID %>').value;
var ChargeAmount;
var Multiplier;
var calcAmount;
var currentAnnual;
var serverID = "tbucRDAmount";
var txtAmount = GetRegisteredServerElement(serverID);
var serverID = "tbucRDAnnual";
var txtAnnual = GetRegisteredServerElement(serverID);
var serverID = "tbucRDPSF";
var txtPsf = GetRegisteredServerElement(serverID);
var PSF = txtPsf.value;
ChargeAmount = txtAmount.value;
if (ChargeAmount.indexOf(",") != -1)
{
var ChargeAnnualAmount = ChargeAmount.replace(",", "");
}
else
{
var ChargeAnnualAmount = ChargeAmount;
}
if (FromPSF && PSF != "" && OrigPSF != PSF)
{
var RentableSqft = $("#hfSqft").val();
calcAmount = RentableSqft * PSF;
var tmpAnnual = calcAmount;
txtAnnual.value = tmpAnnual.toFixed(2);
}
else if (!FromPSF && ChargeAmount != "")
{
switch (PaymentType)
{
case "16991": // monthly
Multiplier = 12;
break;
case "16971": // quarterly
Multiplier = 4;
break;
case "16903": // annual
Multiplier = 1;
break;
case "16946": // semi-annual
Multiplier = 2;
break;
default:
Multiplier = 1;
break;
}
calcAmount = ChargeAnnualAmount * Multiplier;
var tmpAnnual = calcAmount;
txtAnnual.value = tmpAnnual.toFixed(2);
}
}
--------------------------------------------------------------------------------------------------------------------------------
ENTIRE MARKUP OF WIDGET BELOW
<%
@ Control Language="vb" AutoEventWireup="false" CodeBehind="RecurringChargesWidget.ascx.vb"
Inherits="PI.RecurringChargesWidget" %>
<%
@ Register Assembly="AMTdirect.Web.UI.Controls" Namespace="AMTdirect.Web.UI.Controls"
TagPrefix="AMTdirect" %>
<%
@ Register Assembly="AMTdirect.Web.UI.Controls" Namespace="AMTdirect.Web.UI.Controls" TagPrefix="AMT" %>
<
style type="text/css">
.rscLinkImg
{
float: left;
margin-top: 3px;
margin-left: 10px;
background-image: url(../Graphics/spellcheck_16.png);
background-repeat: no-repeat;
text-indent: -9999px;
width: 18px;
height: 18px;
display: block;
border: 0;
outline: none;
}
</
style>
<
asp:Panel ID="pnlucRCContainer" runat="server">
<telerik:RadWindowManager ID="RadWindowManager1" runat="server" Skin="Vista">
</telerik:RadWindowManager>
<telerik:RadCodeBlock ID="rcbucRCCodeBlock" runat="server">
<
script type="text/javascript">
var hasChanges;
var editedRow;
var buttonObj;
var confirmValue = false;
//saves all the grid changes
function UpdateAll() {
$find(
"<%= gvucRCCharges.MasterTableView.ClientID %>").updateEditedItems();
}
//put the entire grid in edit mode
function RowDblClick(sender, eventArgs) {
//sender.get_masterTableView().editAllItems();
}
function HasRowsInEditMode() {
try {
UpdateAll();
}
catch (ex) {
alert(ex);
return true;
}
return false;
}
function MasterDelete(btn) {
//debugger;
if (!confirmValue) { // This is to prevent from running immediately after the callback
buttonObj = btn;
radconfirm(
'Are you sure you want to delete this charge?', confirmCallBackFn, 300, 100, null, 'Delete Charge');
$(
'span.rwInnerSpan:first').text("Delete"); // Change the OK button text to Delete
return false;
}
else {
confirmValue =
false; // Reset this for the next time it's called
}
}
function DetailDelete(btn) {
//debugger;
if (!confirmValue) { // This is to prevent from running immediately after the callback
buttonObj = btn;
radconfirm(
'Are you sure you want to delete this rental activity?', confirmCallBackFn, 300, 100, null, 'Delete Rental Activity');
$(
'span.rwInnerSpan:first').text("Delete"); // Change the OK button text to Delete
return false;
}
else {
confirmValue =
false; // Reset this for the next time it's called
}
}
function AddMasterItemClicked(btn) {
if (!confirmValue) { // This is to prevent from running immediately after the callback
if (HasRowsInEditMode()) {
buttonObj = btn;
radconfirm(
'Unsaved changes will be lost, do you want to continue?', confirmCallBackFn, 300, 100, null, 'Add New Charge');
return false;
}
}
}
function confirmCallBackFn(arg) {
//debugger;
if (arg) {
confirmValue =
true;
buttonObj.click();
}
}
function ucRCOpenWindow(url) {
if (url) {
window.open(url,
null, 'resizable=1,width=970, height=765');
}
}
function ucRCRefreshCharges() {
__doPostBack(
'<%= btnucRCRefresh.UniqueID %>', "");
}
//****************************************************************
//global DOM ID registry. filled up by scripts rendered from templates.
var registeredElements = [];
//looks for an element that has been registered with the global array
//requires that we emit a registration script block for each server control
function GetRegisteredServerElement(serverID) {
//debugger;
return;
var clientID = "";
for (var i = 0; i < registeredElements.length; i++)
{
clientID = registeredElements[i];
if (clientID.indexOf(serverID) >= 0)
break;
}
return $get(clientID);
}
function GetChargeAnnualAmount(FromPSF) {
debugger;
//return;
var PaymentType = document.getElementById('<%=hfPaymentType.ClientID %>').value;
var OrigPSF = document.getElementById('<%=hfOrigPSF.ClientID %>').value;
var ChargeAmount;
var Multiplier;
var calcAmount;
var currentAnnual;
var serverID = "tbucRDAmount";
var txtAmount = GetRegisteredServerElement(serverID);
var serverID = "tbucRDAnnual";
var txtAnnual = GetRegisteredServerElement(serverID);
var serverID = "tbucRDPSF";
var txtPsf = GetRegisteredServerElement(serverID);
var PSF = txtPsf.value;
ChargeAmount = txtAmount.value;
if (ChargeAmount.indexOf(",") != -1)
{
var ChargeAnnualAmount = ChargeAmount.replace(",", "");
}
else
{
var ChargeAnnualAmount = ChargeAmount;
}
if (FromPSF && PSF != "" && OrigPSF != PSF)
{
var RentableSqft = $("#hfSqft").val();
calcAmount = RentableSqft * PSF;
var tmpAnnual = calcAmount;
txtAnnual.value = tmpAnnual.toFixed(2);
}
else if (!FromPSF && ChargeAmount != "")
{
switch (PaymentType)
{
case "16991": // monthly
Multiplier = 12;
break;
case "16971": // quarterly
Multiplier = 4;
break;
case "16903": // annual
Multiplier = 1;
break;
case "16946": // semi-annual
Multiplier = 2;
break;
default:
Multiplier = 1;
break;
}
calcAmount = ChargeAnnualAmount * Multiplier;
var tmpAnnual = calcAmount;
txtAnnual.value = tmpAnnual.toFixed(2);
}
}
function GetPSF(itm) {
//debugger;
return;
var RentableSqft = $("#hfSqft").val();
var calValue;
var serverID = "tbucRDAmount";
var txtAmount = GetRegisteredServerElement(serverID);
var serverID = "tbucRDAnnual";
var txtAnnual = GetRegisteredServerElement(serverID);
var serverID = "tbucRDPSF";
var txtPsf = GetRegisteredServerElement(serverID);
var chgAnnualAmt = txtAnnual.value;
if (chgAnnualAmt.indexOf(",") != -1)
{
var ChargeAnnualAmount = chgAnnualAmt.replace(",", "");
}
else
{
var ChargeAnnualAmount = chgAnnualAmt;
}
if (itm == 0)
{
if (RentableSqft != 0 && ChargeAnnualAmount != "" && txtAmount.value != "")
{
calValue = Math.round((ChargeAnnualAmount / RentableSqft) * 100) / 100;
txtPsf.value = calValue;
}
}
if (itm == 1)
{
if (RentableSqft != 0 && ChargeAnnualAmount != "" && txtAnnual.value != "") {
calValue = Math.round((parseFloat(ChargeAnnualAmount) / RentableSqft) * 100) / 100;
txtPsf.value = calValue;
}
else
{
txtPsf.value = 0;
}
}
}
function GetChargeMonthlyAmount() {
//debugger;
return;
var PaymentType = $("#hfPaymentType").val();
var serverID = "tbucRDAmount";
var txtAmount = GetRegisteredServerElement(serverID);
var serverID = "tbucRDAnnual";
var txtAnnual = GetRegisteredServerElement(serverID);
var AnnualAmt = txtAnnual.value;
if (AnnualAmt.indexOf(",") != -1)
{
var AnnualAmount = AnnualAmt.replace(",", "");
}
else
{
var AnnualAmount = AnnualAmt;
}
if (AnnualAmount != "") {
switch (PaymentType) {
case "16991": // monthly
Divisor = 12;
break;
case "16971": // quarterly
Divisor = 4;
break;
case "16903": // annual
Divisor = 1;
break;
case "16946": // semi-annual
Divisor = 2;
break;
default:
Divisor = 1;
break;
}
var tempAmt = parseFloat((AnnualAmount) / Divisor);
txtAmount.value = tempAmt.toFixed(2);
}
}
function SetORigPSF() {
//debugger;
return;
var serverID = "tbucRDPSF";
var txtPsf = GetRegisteredServerElement(serverID);
var tmpPSF;
var PSF;
PSF = txtPsf.value;
if (PSF != tmpPSF)
{
tmpPSF = txtPsf.value;
document.getElementById(
'hfOrigPSF').value = tmpPSF;
}
}
//*************************************************************
function DisplayError(msg) {
//debugger;
alert(msg);
}
</
script>
</telerik:RadCodeBlock>
<telerik:RadAjaxLoadingPanel ID="rlpucRCLoadingPanel" runat="server" Skin="AMTDefault"
EnableEmbeddedSkins="false" EnableSkinTransparency="true">
</telerik:RadAjaxLoadingPanel>
<asp:Panel ID="pnlucRCLoadingContainer" runat="server">
<AMTdirect:AMTRadGrid ID="gvucRCCharges" runat="server" SkinID="StandardGrid" AllowSorting="true"
AllowPaging="false" AllowMultiRowEdit="true" OnNeedDataSource="gvucRCCharges_NeedDataSource"
OnUpdateCommand="gvucRCCharges_UpdateCommand" OnDeleteCommand="gvucRCCharges_DeleteCommand"
OnInsertCommand="gvucRCCharges_InsertCommand" OnItemCreated="gvucRCCharges_ItemCreated" >
<ValidationSettings ValidationGroup="ucRCValidationGroup" />
<MasterTableView Name="RecurringCharges" DataKeyNames="RECOVERY_ID,mGuid" ClientDataKeyNames="RECOVERY_ID,mGuid"
CommandItemDisplay="Top" TableLayout="Fixed" Width="1800px" >
<NoRecordsTemplate>
<div>
There are no records to display. Select Add New Charge to create records.
</div>
</NoRecordsTemplate>
<CommandItemSettings ShowAddNewRecordButton="true" ShowRefreshButton="false" AddNewRecordText="Add New Charge"
AddNewRecordImageUrl="~/Graphics/add.png" />
<CommandItemTemplate>
<table style="width: 100%; height: 25px; border: 0; margin-left: 6px; margin-top: 2px;">
<tr>
<td valign="middle" style="width: 125px;">
<asp:LinkButton ID="lnkAddCharges" runat="server"
CommandName="InitInsert" CausesValidation="false"><img style="border:0px" alt="" src="../Graphics/add.png" /> Add New Charge</asp:LinkButton>
</td>
<td valign="middle" style="width: 125px;">
<asp:LinkButton ID="lnkExpandAllRows" runat="server" CommandName="ExpandAllRows" CausesValidation="false" ><img style="border:0px" alt="" src="../Graphics/application_view_detail.png" /> Expand All Rows</asp:LinkButton>
</td>
<td align="right">
<img style="border: 0px" alt="" src="../Graphics/star_blue.png" />
Rent Tax Applied
</td>
<td style="width: 10px;">
</td>
</tr>
</table>
</CommandItemTemplate>
<Columns>
<%
--<telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="RecChargeEditCommandColumn"
UpdateImageUrl="~/Graphics/Yes.png" InsertImageUrl="~/Graphics/Yes.png" CancelImageUrl="~/Graphics/No.png"
EditImageUrl="~/Graphics/pencil.png" HeaderStyle-Width="50px" ItemStyle-Width="50px">
</telerik:GridEditCommandColumn>
<telerik:GridTemplateColumn Resizable="false" ItemStyle-Width="18px" HeaderStyle-Width="18px"
ItemStyle-HorizontalAlign="Center" UniqueName="DELETE_CHARGE">
<ItemTemplate>
<asp:ImageButton ID="ibucRCDeleteCharge" runat="server" CommandName="Delete" ImageUrl="~/Graphics/delete_16.png"
AlternateText="Delete" OnClientClick="return MasterDelete(this);" />
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
</telerik:GridTemplateColumn>--
%>
<telerik:GridTemplateColumn UniqueName="EDIT_CHARGE" Resizable="false" ItemStyle-Width="40px" HeaderStyle-Width="40px" >
<ItemTemplate>
<asp:LinkButton ID="btnEdit" runat="server" Text="Edit" CommandName="Edit" ValidationGroup="ucRCValidationGroup" CausesValidation="false" />
</ItemTemplate>
<EditItemTemplate>
<asp:ImageButton ID="btnYes1" runat="server" CommandName="Update" ImageUrl="~/Graphics/Yes.png"
AlternateText="Update" ValidationGroup="ucRCValidationGroup" />
<asp:ImageButton ID="btnCancel1" runat="server" CommandName="Cancel" ImageUrl="~/Graphics/No.png"
AlternateText="Cancel" ValidationGroup="ucRCValidationGroup" CausesValidation="false" />
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="RECOVERY_ID" UniqueName="RecoveryID" HeaderText="Recovery ID"
DataType="System.Int32" SortExpression="RECOVERY_ID" ReadOnly="true" Visible="false"
HeaderStyle-Width="50px" ItemStyle-Width="50px">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="mGuid" UniqueName="mGuid" DataType="System.String"
Visible="false" HeaderStyle-Width="50px" ItemStyle-Width="50px">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn UniqueName="RecChargeType" HeaderText="Recurring Charge Type"
SortExpression="Charge_Type" HeaderStyle-Width="250px" ItemStyle-Width="250px">
<ItemTemplate>
<asp:Label ID="lblRecChargeType" runat="server">
<%
#GetTableSafeDataBoundValue(Container.DataItem, "Charge_Type")%>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlRecChargeType" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="Space" HeaderText="Space" SortExpression="SUITE_NUMBER" DataField="SUITE_NUMBER"
HeaderStyle-Width="60px" ItemStyle-Width="60px">
<ItemTemplate>
<asp:Label ID="lblSpace" runat="server">
<%
#GetTableSafeDataBoundValue(Container.DataItem, "SUITE_NUMBER")%>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:Label ID="lblSpaceEditMode" runat="server" Visible="false">
<%
#GetTableSafeDataBoundValue(Container.DataItem, "SUITE_NUMBER")%>
</asp:Label>
<asp:DropDownList ID="ddlSpace" runat="server" Visible="false">
</asp:DropDownList>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="EffectiveDate" HeaderText="Eff Date"
SortExpression="EFF_DATE" ReadOnly="true" HeaderStyle-Width="60px" ItemStyle-Width="60px">
<ItemTemplate>
<asp:Label ID="lblEffectiveDate" runat="server">
<%
#GetTableSafeDataBoundValue(Container.DataItem, "EFF_DATE")%>
</asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="EndDate" HeaderText="End Date" SortExpression="END_DATE"
ReadOnly="true" HeaderStyle-Width="60px" ItemStyle-Width="60px">
<ItemTemplate>
<asp:Label ID="lblEndDate" runat="server">
<%
#GetTableSafeDataBoundValue(Container.DataItem, "END_DATE")%>
</asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="MONTHLY_TOTAL" UniqueName="Amount" HeaderText="Amount"
DataType="System.String" SortExpression="MONTHLY_TOTAL" ReadOnly="true" HeaderStyle-Width="50px"
ItemStyle-Width="50px" DataFormatString="{0:C}">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="ANNUAL_TOTAL" UniqueName="Annual" HeaderText="Annual"
DataType="System.String" SortExpression="ANNUAL_TOTAL" ReadOnly="true" HeaderStyle-Width="50px"
ItemStyle-Width="50px" DataFormatString="{0:C}">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="PSF" UniqueName="PSF" HeaderText="PSF" DataType="System.String"
SortExpression="PSF" ReadOnly="true" HeaderStyle-Width="40px" ItemStyle-Width="40px">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn UniqueName="Currency" HeaderText="Curr" SortExpression="CURRENCY"
HeaderStyle-Width="50px" ItemStyle-Width="50px">
<ItemTemplate>
<asp:Label ID="lblCurrency" runat="server">
<%
#GetTableSafeDataBoundValue(Container.DataItem, "CURRENCY")%>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlCurrency" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="PaymentType" HeaderText="Freq" SortExpression="Payment_Type"
HeaderStyle-Width="103px" ItemStyle-Width="103px">
<ItemTemplate>
<asp:Label ID="lblPaymentType" runat="server">
<%
#GetTableSafeDataBoundValue(Container.DataItem, "Payment_Type")%>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlPaymentType" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="EsclationType" HeaderText="Escalation Type"
SortExpression="ESCALATION_TYPE" HeaderStyle-Width="118px" ItemStyle-Width="118px">
<ItemTemplate>
<asp:Label ID="lblEscalationType" runat="server">
<%
#GetTableSafeDataBoundValue(Container.DataItem, "Escalation_Type")%>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlEscalationType" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="LeaseTermType" HeaderText="Term Type"
SortExpression="LEASE_TERM_TYPE" HeaderStyle-Width="125px" ItemStyle-Width="125px">
<ItemTemplate>
<asp:Label ID="lblLeaseTermType" runat="server">
<%
#GetTableSafeDataBoundValue(Container.DataItem, "LEASE_TERM_TYPE")%>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlLeaseTermType" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="LeaseTermDefined" HeaderText="Term Defined"
SortExpression="LEASE_TERM_DEFINED" HeaderStyle-Width="105px" ItemStyle-Width="105px">
<ItemTemplate>
<asp:Label ID="lblLeaseTermDefined" runat="server">
<%
#GetTableSafeDataBoundValue(Container.DataItem, "LEASE_TERM_DEFINED")%>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlLeaseTermDefined" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="BillingType" HeaderText="Bill Type"
SortExpression="BILLING_TYPE" HeaderStyle-Width="100px" ItemStyle-Width="100px">
<ItemTemplate>
<asp:Label ID="lblBillingType" runat="server">
<%
#GetTableSafeDataBoundValue(Container.DataItem, "BILLING_TYPE")%>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlBillingType" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="Notes" HeaderText="Notes" SortExpression="Notes"
HeaderStyle-Width="200px" ItemStyle-Width="200px">
<ItemTemplate>
<asp:Label ID="lblNotes" runat="server">
<%
#GetTableSafeDataBoundValue(Container.DataItem, "NOTES")%>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<table style="width: 100%; border: 0 !important; padding: 0,0,0,0;">
<tr>
<td style="border: 0 !important;">
<asp:TextBox ID="txtNotes" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "NOTES")%> '></asp:TextBox>
</td>
<td style="border: 0 !important; width: 18px;" valign="top">
<telerik:RadSpell ID="radSpellNotes" runat="server" ControlToCheck="txtNotes" ButtonType="ImageButton"
ButtonText="" />
</td>
</tr>
</table>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="ViewPDF" HeaderText="View PDF" HeaderStyle-Width="55px"
ItemStyle-Width="55px" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:ImageButton ID="lnkPDF" runat="server" CommandName="ViewPDF" ImageUrl="~/Graphics/PDFIcon.png" AlternateText="View PDF" Visible="false" />
<%
--<asp:LinkButton ID="lnkPDF" runat="server" Font-Names="Arial" Font-Size="8pt" CssClass="standardLink">View PDF</asp:LinkButton>
<a style="cursor: pointer; cursor: hand;" onclick="ViewPDF('<%#DataBinder.Eval(Container.DataItem, "RECOVERY_ID")%>')">
<img style="border: 0px" alt="" src="../Graphics/PDFIcon.png" /></a>--
%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn Resizable="false" UniqueName="MORE_DETAILS_COLUMN" ItemStyle-Width="55px" HeaderStyle-Width="55px" >
<ItemTemplate>
<asp:HyperLink ID="hlucRCMoreInfo" runat="server" NavigateUrl="#" Text="Details" />
</ItemTemplate>
<EditItemTemplate> </EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="DELETE_CHARGE" Resizable="false" ItemStyle-Width="40px" HeaderStyle-Width="40px" >
<ItemTemplate>
<asp:LinkButton ID="btnDelete" runat="server" Text="Delete" CommandName="Delete" OnClientClick="return MasterDelete(this);" ValidationGroup="ucRCValidationGroup" />
</ItemTemplate>
<EditItemTemplate>
<asp:ImageButton ID="btnYes2" runat="server" CommandName="Update" ImageUrl="~/Graphics/Yes.png"
AlternateText="Update" ValidationGroup="ucRCValidationGroup" CausesValidation="false" />
<asp:ImageButton ID="btnCancel2" runat="server" CommandName="Cancel" ImageUrl="~/Graphics/No.png"
AlternateText="Cancel" ValidationGroup="ucRCValidationGroup" CausesValidation="false" />
</EditItemTemplate>
</telerik:GridTemplateColumn>
<%
--This is an extra column to keep headers and items in line--%>
<telerik:GridTemplateColumn HeaderStyle-BorderWidth="0" />
</Columns>
<DetailTables>
<telerik:GridTableView DataKeyNames="rec_date_id,mGuid" ClientDataKeyNames="rec_date_id,mGuid"
Name="RentalActivityDates" HierarchyLoadMode="ServerOnDemand" EditMode="InPlace"
CommandItemDisplay="Top" Width="800px" >
<CommandItemSettings ShowRefreshButton="false" AddNewRecordText="Add Dates" AddNewRecordImageUrl="~/Graphics/add.png" />
<NoRecordsTemplate>
<div>
There are no records to display. Select Add Dates or Auto-Populate Rental Activity
to create records.
</div>
</NoRecordsTemplate>
<CommandItemTemplate>
<table style="height: 25px; border: 0; margin-left: 6px; margin-top: 2px;">
<tr>
<td valign="middle">
<asp:LinkButton ID="lnkAddDates" runat="server" CommandName="InitInsert"><img style="border:0px" alt="" src="../Graphics/add.png" /> Add Rental Activity</asp:LinkButton>
</td>
<td>
</td>
<%
-- <td valign="middle">
<asp:LinkButton ID="lnkAutoPopulate" OnClientClick="javascript:return confirm('Delete all Rental Activite and Auto-Populate?')"
runat="server" CommandName="AutoPopulate"><img style="border:0px" alt="" src="../Graphics/calculator.png" /> Auto-Populate Rental Activity</asp:LinkButton>
</td>--
%>
</tr>
</table>
</CommandItemTemplate>
<Columns>
<telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="RecDateEditCommandColumn"
UpdateImageUrl="~/Graphics/Yes.png" InsertImageUrl="~/Graphics/Yes.png" CancelImageUrl="~/Graphics/No.png"
EditImageUrl="~/Graphics/pencil.png" HeaderStyle-Width="50px" ItemStyle-Width="50px">
</telerik:GridEditCommandColumn>
<telerik:GridBoundColumn DataField="mGuid" UniqueName="mGuid" DataType="System.String"
Visible="false" ReadOnly="true">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="rec_date_id" UniqueName="rec_date_id" DataType="System.Int32"
Visible="false" ReadOnly="true">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn Resizable="false" ItemStyle-Width="25px" HeaderStyle-Width="25px" ItemStyle-HorizontalAlign="Center" UniqueName="MANUAL_DELETE_ACTIVITY" >
<ItemTemplate>
<asp:ImageButton ID="ibucRADeleteActivity" CommandName="Delete" OnClientClick="return DetailDelete(this);" runat="server" ImageUrl="~/Graphics/delete_16.png" AlternateText="Delete Rental Activity" />
</ItemTemplate>
<EditItemTemplate> </EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="EffDate" HeaderText="Eff Date" SortExpression="eff_date" >
<ItemTemplate>
<asp:Label ID="lblucRDEffDate" runat="server"
Text='<%#DataBinder.Eval(Container.DataItem, "eff_date","{0:d}")%>'/>
</ItemTemplate>
<EditItemTemplate>
<AMT:AMTTextBox ID="tbucRDEffDate" runat="server" Width="65px" ForceDate="true" Text='<%#DataBinder.Eval(Container.DataItem, "eff_date","{0:d}")%>' />
<script type="text/javascript">
registeredElements.push(
'<%# Container.FindControl("tbucRDEffDate").ClientID %>');
</script>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="EndDate" HeaderText="End Date" SortExpression="end_date">
<ItemTemplate>
<asp:Label ID="lblucRDEndDate" runat="server"
Text='<%#DataBinder.Eval(Container.DataItem, "end_date","{0:d}")%>'/>
</ItemTemplate>
<EditItemTemplate>
<AMT:AMTTextBox ID="tbucRDEndDate" runat="server" Width="65px" ForceDate="true" Text='<%#DataBinder.Eval(Container.DataItem, "end_date","{0:d}")%>' />
<script type="text/javascript">
registeredElements.push(
'<%# Container.FindControl("tbucRDEndDate").ClientID %>');
</script>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="Amount" HeaderText="Amount" SortExpression="amount" >
<ItemTemplate>
<asp:Label ID="lblucRDAmount" runat="server"><nobr>
<%
#GetTableSafeDataBoundValue(Container.DataItem, "amount")%>
</nobr></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<AMT:AMTTextBox ID="tbucRDAmount" runat="server" Width="100px" MaxLength="12" ForceDecimal="true" Text='<%#DataBinder.Eval(Container.DataItem, "amount")%>' onblur="javascript:GetChargeAnnualAmount(false);GetPSF(0);"/>
<script type="text/javascript">
registeredElements.push(
'<%# Container.FindControl("tbucRDAmount").ClientID %>');
</script>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="Annual" HeaderText="Annual" SortExpression="annual">
<ItemTemplate>
<asp:Label ID="lblAmount" runat="server"><nobr>
<%
#GetTableSafeDataBoundValue(Container.DataItem, "annual")%>
</nobr></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<AMT:AMTTextBox ID="tbucRDAnnual" runat="server" Width="100px" MaxLength="12" ForceDecimal="true" Text='<%#DataBinder.Eval(Container.DataItem, "annual")%>' onblur="javascript:GetChargeMonthlyAmount();GetPSF(1);" />
<script type="text/javascript">
registeredElements.push(
'<%# Container.FindControl("tbucRDAnnual").ClientID %>');
</script>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="persqft" HeaderText="PSF" SortExpression="per_sqft" >
<ItemTemplate>
<asp:Label ID="lblPSF" runat="server"><nobr>
<%
#GetTableSafeDataBoundValue(Container.DataItem, "per_sqft")%>
</nobr></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<AMT:AMTTextBox ID="tbucRDPSF" runat="server" Width="65px" MaxLength="12" ForceDecimal="true" Text='<%#DataBinder.Eval(Container.DataItem, "per_sqft")%>' nfocus="javascript:SetORigPSF();" onblur="javascript:GetChargeAnnualAmount(true);GetChargeMonthlyAmount();" />
<script type="text/javascript">
registeredElements.push(
'<%# Container.FindControl("tbucRDPSF").ClientID %>');
</script>
</EditItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</telerik:GridTableView>
</DetailTables>
</MasterTableView>
<ClientSettings>
<ClientEvents OnRowDblClick="RowDblClick" />
<Selecting AllowRowSelect="true" />
<Scrolling AllowScroll="true" />
</ClientSettings>
</AMTdirect:AMTRadGrid>
<asp:Button ID="btnucRCRefresh" runat="server" style="visibility:hidden;height: 0; width: 0; padding:0; margin:0;" />
<asp:HiddenField ID="hfOrigPSF" runat="server" />
<asp:HiddenField ID="hfPaymentType" runat="server" />
<asp:HiddenField ID="hfSqft" runat="server" />
<asp:HiddenField ID="hfPSF" runat="server" />
<asp:HiddenField ID="hfTxtAmount" runat="server" />
</asp:Panel>
</
asp:Panel>

registeredElements.length is zero. Search for var
GetChargeAnnualAmount() gets executed onblur:
Below returns null. I think the key point hear is that the grid is in a web user control.
var serverID = "tbucRDAmount";
var txtAmount = GetRegisteredServerElement(serverID);
var
function
return
var clientID = ""
for (var
{
clientID = registeredElements[i];
if
break
}
return
}
function
debugger
var PaymentType = document.getElementById('<%=hfPaymentType.ClientID %>'
var OrigPSF = document.getElementById('<%=hfOrigPSF.ClientID %>'
var
var
var
var
var serverID = "tbucRDAmount"
var
var serverID = "tbucRDAnnual"
var
var serverID = "tbucRDPSF"
var
var
ChargeAmount = txtAmount.value;
if (ChargeAmount.indexOf(","
{
var ChargeAnnualAmount = ChargeAmount.replace(",", ""
}
else
{
var
}
if (FromPSF && PSF != ""
{
var RentableSqft = $("#hfSqft"
calcAmount = RentableSqft * PSF;
var
txtAnnual.value = tmpAnnual.toFixed(2);
}
else if (!FromPSF && ChargeAmount != ""
{
switch
{
case "16991":
Multiplier = 12;
break
case "16971":
Multiplier = 4;
break
case "16903":
Multiplier = 1;
break
case "16946":
Multiplier = 2;
break
default
Multiplier = 1;
break
}
calcAmount = ChargeAnnualAmount * Multiplier;
var
txtAnnual.value = tmpAnnual.toFixed(2);
}
}
--------------------------------------------------------------------------------------------------------------------------------
ENTIRE MARKUP OF WIDGET BELOW
<%
@ Control Language="vb" AutoEventWireup="false" CodeBehind
Inherits="PI.RecurringChargesWidget"
<%
@ Register Assembly="AMTdirect.Web.UI.Controls" Namespace
TagPrefix="AMTdirect"
<%
@ Register Assembly="AMTdirect.Web.UI.Controls" Namespace="AMTdirect.Web.UI.Controls" TagPrefix="AMT"
<
style type
{
float: left
margin-top: 3px
margin-left: 10px
background-image: url(../Graphics/spellcheck_16.png)
background-repeat: no-repeat
text-indent: -9999px
width: 18px
height: 18px
display: block
border: 0
outline: none
}
</
style
<
asp:Panel ID="pnlucRCContainer" runat
<telerik:RadWindowManager ID="RadWindowManager1" runat="server" Skin
</telerik:RadWindowManager
<telerik:RadCodeBlock ID="rcbucRCCodeBlock" runat
<
script type
var
var
var
var confirmValue = false
function
$find(
"<%= gvucRCCharges.MasterTableView.ClientID %>"
}
function
}
function
try
UpdateAll();
}
catch
alert(ex);
return true
}
return false
}
function
if (!confirmValue) {
buttonObj = btn;
radconfirm(
'Are you sure you want to delete this charge?', confirmCallBackFn, 300, 100, null, 'Delete Charge'
$(
'span.rwInnerSpan:first').text("Delete");
return false
}
else
confirmValue =
false;
}
}
function
if (!confirmValue) {
buttonObj = btn;
radconfirm(
'Are you sure you want to delete this rental activity?', confirmCallBackFn, 300, 100, null, 'Delete Rental Activity'
$(
'span.rwInnerSpan:first').text("Delete");
return false
}
else
confirmValue =
false;
}
}
function
if (!confirmValue) {
if
buttonObj = btn;
radconfirm(
'Unsaved changes will be lost, do you want to continue?', confirmCallBackFn, 300, 100, null, 'Add New Charge'
return false
}
}
}
function
if
confirmValue =
true
buttonObj.click();
}
}
function
if
window.open(url,
null, 'resizable=1,width=970, height=765'
}
}
function
__doPostBack(
'<%= btnucRCRefresh.UniqueID %>', ""
}
//****************************************************************
var
function
return
var clientID = ""
for (var
{
clientID = registeredElements[i];
if
break
}
return
}
function
debugger
var PaymentType = document.getElementById('<%=hfPaymentType.ClientID %>'
var OrigPSF = document.getElementById('<%=hfOrigPSF.ClientID %>'
var
var
var
var
var serverID = "tbucRDAmount"
var
var serverID = "tbucRDAnnual"
var
var serverID = "tbucRDPSF"
var
var
ChargeAmount = txtAmount.value;
if (ChargeAmount.indexOf(","
{
var ChargeAnnualAmount = ChargeAmount.replace(",", ""
}
else
{
var
}
if (FromPSF && PSF != ""
{
var RentableSqft = $("#hfSqft"
calcAmount = RentableSqft * PSF;
var
txtAnnual.value = tmpAnnual.toFixed(2);
}
else if (!FromPSF && ChargeAmount != ""
{
switch
{
case "16991":
Multiplier = 12;
break
case "16971":
Multiplier = 4;
break
case "16903":
Multiplier = 1;
break
case "16946":
Multiplier = 2;
break
default
Multiplier = 1;
break
}
calcAmount = ChargeAnnualAmount * Multiplier;
var
txtAnnual.value = tmpAnnual.toFixed(2);
}
}
function
return
var RentableSqft = $("#hfSqft"
var
var serverID = "tbucRDAmount"
var
var serverID = "tbucRDAnnual"
var
var serverID = "tbucRDPSF"
var
var
if (chgAnnualAmt.indexOf(","
{
var ChargeAnnualAmount = chgAnnualAmt.replace(",", ""
}
else
{
var
}
if
{
if (RentableSqft != 0 && ChargeAnnualAmount != "" && txtAmount.value != ""
{
calValue = Math.round((ChargeAnnualAmount / RentableSqft) * 100) / 100;
txtPsf.value = calValue;
}
}
if
{
if (RentableSqft != 0 && ChargeAnnualAmount != "" && txtAnnual.value != ""
calValue = Math.round((parseFloat(ChargeAnnualAmount) / RentableSqft) * 100) / 100;
txtPsf.value = calValue;
}
else
{
txtPsf.value = 0;
}
}
}
function
return
var PaymentType = $("#hfPaymentType"
var serverID = "tbucRDAmount"
var
var serverID = "tbucRDAnnual"
var
var
if (AnnualAmt.indexOf(","
{
var AnnualAmount = AnnualAmt.replace(",", ""
}
else
{
var
}
if (AnnualAmount != ""
switch
case "16991":
Divisor = 12;
break
case "16971":
Divisor = 4;
break
case "16903":
Divisor = 1;
break
case "16946":
Divisor = 2;
break
default
Divisor = 1;
break
}
var
txtAmount.value = tempAmt.toFixed(2);
}
}
function
return
var serverID = "tbucRDPSF"
var
var
var
PSF = txtPsf.value;
if
{
tmpPSF = txtPsf.value;
document.getElementById(
'hfOrigPSF'
}
}
//*************************************************************
function
alert(msg);
}
</
script
</telerik:RadCodeBlock
<telerik:RadAjaxLoadingPanel ID="rlpucRCLoadingPanel" runat="server" Skin
EnableEmbeddedSkins="false" EnableSkinTransparency
</telerik:RadAjaxLoadingPanel
<asp:Panel ID="pnlucRCLoadingContainer" runat
<AMTdirect:AMTRadGrid ID="gvucRCCharges" runat="server" SkinID="StandardGrid" AllowSorting
AllowPaging="false" AllowMultiRowEdit="true" OnNeedDataSource
OnUpdateCommand="gvucRCCharges_UpdateCommand" OnDeleteCommand
OnInsertCommand="gvucRCCharges_InsertCommand" OnItemCreated="gvucRCCharges_ItemCreated"
<ValidationSettings ValidationGroup="ucRCValidationGroup"
<MasterTableView Name="RecurringCharges" DataKeyNames="RECOVERY_ID,mGuid" ClientDataKeyNames
CommandItemDisplay="Top" TableLayout="Fixed" Width="1800px"
<NoRecordsTemplate
<div
There are no records to display. Select Add New Charge to create records.
</div
</NoRecordsTemplate
<CommandItemSettings ShowAddNewRecordButton="true" ShowRefreshButton="false" AddNewRecordText
AddNewRecordImageUrl="~/Graphics/add.png"
<CommandItemTemplate
<table style="width: 100%; height: 25px; border: 0; margin-left: 6px; margin-top: 2px;
<tr
<td valign="middle" style="width: 125px;
<asp:LinkButton ID="lnkAddCharges" runat="server"
CommandName="InitInsert" CausesValidation="false"><img style="border:0px" alt="" src="../Graphics/add.png" /> Add New Charge</asp:LinkButton
</td
<td valign="middle" style="width: 125px;
<asp:LinkButton ID="lnkExpandAllRows" runat="server" CommandName="ExpandAllRows" CausesValidation="false" ><img style="border:0px" alt="" src="../Graphics/application_view_detail.png" /> Expand All Rows</asp:LinkButton
</td
<td align
<img style="border: 0px" alt="" src="../Graphics/star_blue.png"
Rent Tax Applied
</td
<td style="width: 10px;
</td
</tr
</table
</CommandItemTemplate
<Columns
<%
UpdateImageUrl="~/Graphics/Yes.png" InsertImageUrl="~/Graphics/Yes.png" CancelImageUrl="~/Graphics/No.png"
EditImageUrl="~/Graphics/pencil.png" HeaderStyle-Width="50px" ItemStyle-Width="50px">
</telerik:GridEditCommandColumn>
<telerik:GridTemplateColumn Resizable="false" ItemStyle-Width="18px" HeaderStyle-Width="18px"
ItemStyle-HorizontalAlign="Center" UniqueName="DELETE_CHARGE">
<ItemTemplate>
<asp:ImageButton ID="ibucRCDeleteCharge" runat="server" CommandName="Delete" ImageUrl="~/Graphics/delete_16.png"
AlternateText="Delete" OnClientClick="return MasterDelete(this);" />
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
</telerik:GridTemplateColumn>--
<telerik:GridTemplateColumn UniqueName="EDIT_CHARGE" Resizable="false" ItemStyle-Width="40px" HeaderStyle-Width="40px"
<ItemTemplate
<asp:LinkButton ID="btnEdit" runat="server" Text="Edit" CommandName="Edit" ValidationGroup="ucRCValidationGroup" CausesValidation="false" />
</ItemTemplate
<EditItemTemplate
<asp:ImageButton ID="btnYes1" runat="server" CommandName="Update" ImageUrl
AlternateText="Update" ValidationGroup="ucRCValidationGroup"
<asp:ImageButton ID="btnCancel1" runat="server" CommandName="Cancel" ImageUrl
AlternateText="Cancel" ValidationGroup="ucRCValidationGroup" CausesValidation="false"
</EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridBoundColumn DataField="RECOVERY_ID" UniqueName="RecoveryID" HeaderText
DataType="System.Int32" SortExpression="RECOVERY_ID" ReadOnly="true" Visible
HeaderStyle-Width="50px" ItemStyle-Width
</telerik:GridBoundColumn
<telerik:GridBoundColumn DataField="mGuid" UniqueName="mGuid" DataType
Visible="false" HeaderStyle-Width="50px" ItemStyle-Width
</telerik:GridBoundColumn
<telerik:GridTemplateColumn UniqueName="RecChargeType" HeaderText
SortExpression="Charge_Type" HeaderStyle-Width="250px" ItemStyle-Width
<ItemTemplate
<asp:Label ID="lblRecChargeType" runat
<%
#GetTableSafeDataBoundValue(Container.DataItem, "Charge_Type"
</asp:Label
</ItemTemplate
<EditItemTemplate
<asp:DropDownList ID="ddlRecChargeType" runat
</asp:DropDownList
</EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="Space" HeaderText="Space" SortExpression="SUITE_NUMBER" DataField
HeaderStyle-Width="60px" ItemStyle-Width
<ItemTemplate
<asp:Label ID="lblSpace" runat
<%
#GetTableSafeDataBoundValue(Container.DataItem, "SUITE_NUMBER"
</asp:Label
</ItemTemplate
<EditItemTemplate
<asp:Label ID="lblSpaceEditMode" runat="server" Visible
<%
#GetTableSafeDataBoundValue(Container.DataItem, "SUITE_NUMBER"
</asp:Label
<asp:DropDownList ID="ddlSpace" runat="server" Visible
</asp:DropDownList
</EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="EffectiveDate" HeaderText
SortExpression="EFF_DATE" ReadOnly="true" HeaderStyle-Width="60px" ItemStyle-Width
<ItemTemplate
<asp:Label ID="lblEffectiveDate" runat
<%
#GetTableSafeDataBoundValue(Container.DataItem, "EFF_DATE"
</asp:Label
</ItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="EndDate" HeaderText="End Date" SortExpression
ReadOnly="true" HeaderStyle-Width="60px" ItemStyle-Width
<ItemTemplate
<asp:Label ID="lblEndDate" runat
<%
#GetTableSafeDataBoundValue(Container.DataItem, "END_DATE"
</asp:Label
</ItemTemplate
</telerik:GridTemplateColumn
<telerik:GridBoundColumn DataField="MONTHLY_TOTAL" UniqueName="Amount" HeaderText
DataType="System.String" SortExpression="MONTHLY_TOTAL" ReadOnly="true" HeaderStyle-Width
ItemStyle-Width="50px" DataFormatString
</telerik:GridBoundColumn
<telerik:GridBoundColumn DataField="ANNUAL_TOTAL" UniqueName="Annual" HeaderText
DataType="System.String" SortExpression="ANNUAL_TOTAL" ReadOnly="true" HeaderStyle-Width
ItemStyle-Width="50px" DataFormatString
</telerik:GridBoundColumn
<telerik:GridBoundColumn DataField="PSF" UniqueName="PSF" HeaderText="PSF" DataType
SortExpression="PSF" ReadOnly="true" HeaderStyle-Width="40px" ItemStyle-Width
</telerik:GridBoundColumn
<telerik:GridTemplateColumn UniqueName="Currency" HeaderText="Curr" SortExpression
HeaderStyle-Width="50px" ItemStyle-Width
<ItemTemplate
<asp:Label ID="lblCurrency" runat
<%
#GetTableSafeDataBoundValue(Container.DataItem, "CURRENCY"
</asp:Label
</ItemTemplate
<EditItemTemplate
<asp:DropDownList ID="ddlCurrency" runat
</asp:DropDownList
</EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="PaymentType" HeaderText="Freq" SortExpression
HeaderStyle-Width="103px" ItemStyle-Width
<ItemTemplate
<asp:Label ID="lblPaymentType" runat
<%
#GetTableSafeDataBoundValue(Container.DataItem, "Payment_Type"
</asp:Label
</ItemTemplate
<EditItemTemplate
<asp:DropDownList ID="ddlPaymentType" runat
</asp:DropDownList
</EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="EsclationType" HeaderText
SortExpression="ESCALATION_TYPE" HeaderStyle-Width="118px" ItemStyle-Width
<ItemTemplate
<asp:Label ID="lblEscalationType" runat
<%
#GetTableSafeDataBoundValue(Container.DataItem, "Escalation_Type"
</asp:Label
</ItemTemplate
<EditItemTemplate
<asp:DropDownList ID="ddlEscalationType" runat
</asp:DropDownList
</EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="LeaseTermType" HeaderText
SortExpression="LEASE_TERM_TYPE" HeaderStyle-Width="125px" ItemStyle-Width
<ItemTemplate
<asp:Label ID="lblLeaseTermType" runat
<%
#GetTableSafeDataBoundValue(Container.DataItem, "LEASE_TERM_TYPE"
</asp:Label
</ItemTemplate
<EditItemTemplate
<asp:DropDownList ID="ddlLeaseTermType" runat
</asp:DropDownList
</EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="LeaseTermDefined" HeaderText
SortExpression="LEASE_TERM_DEFINED" HeaderStyle-Width="105px" ItemStyle-Width
<ItemTemplate
<asp:Label ID="lblLeaseTermDefined" runat
<%
#GetTableSafeDataBoundValue(Container.DataItem, "LEASE_TERM_DEFINED"
</asp:Label
</ItemTemplate
<EditItemTemplate
<asp:DropDownList ID="ddlLeaseTermDefined" runat
</asp:DropDownList
</EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="BillingType" HeaderText
SortExpression="BILLING_TYPE" HeaderStyle-Width="100px" ItemStyle-Width
<ItemTemplate
<asp:Label ID="lblBillingType" runat
<%
#GetTableSafeDataBoundValue(Container.DataItem, "BILLING_TYPE"
</asp:Label
</ItemTemplate
<EditItemTemplate
<asp:DropDownList ID="ddlBillingType" runat
</asp:DropDownList
</EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="Notes" HeaderText="Notes" SortExpression
HeaderStyle-Width="200px" ItemStyle-Width
<ItemTemplate
<asp:Label ID="lblNotes" runat
<%
#GetTableSafeDataBoundValue(Container.DataItem, "NOTES"
</asp:Label
</ItemTemplate
<EditItemTemplate
<table style="width: 100%; border: 0 !important; padding: 0,0,0,0;
<tr
<td style="border: 0 !important;
<asp:TextBox ID="txtNotes" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "NOTES")%> '></asp:TextBox
</td
<td style="border: 0 !important; width: 18px;" valign
<telerik:RadSpell ID="radSpellNotes" runat="server" ControlToCheck="txtNotes" ButtonType
ButtonText=""
</td
</tr
</table
</EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="ViewPDF" HeaderText="View PDF" HeaderStyle-Width
ItemStyle-Width="55px" ItemStyle-HorizontalAlign
<ItemTemplate
<asp:ImageButton ID="lnkPDF" runat="server" CommandName="ViewPDF" ImageUrl="~/Graphics/PDFIcon.png" AlternateText="View PDF" Visible="false"
<%
<a style="cursor: pointer; cursor: hand;" onclick="ViewPDF('<%#DataBinder.Eval(Container.DataItem, "RECOVERY_ID")%>')">
<img style="border: 0px" alt="" src="../Graphics/PDFIcon.png" /></a>--
</ItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn Resizable="false" UniqueName="MORE_DETAILS_COLUMN" ItemStyle-Width="55px" HeaderStyle-Width="55px"
<ItemTemplate
<asp:HyperLink ID="hlucRCMoreInfo" runat="server" NavigateUrl="#" Text="Details" />
</ItemTemplate
<EditItemTemplate> </EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="DELETE_CHARGE" Resizable="false" ItemStyle-Width="40px" HeaderStyle-Width="40px"
<ItemTemplate
<asp:LinkButton ID="btnDelete" runat="server" Text="Delete" CommandName="Delete" OnClientClick="return MasterDelete(this);" ValidationGroup="ucRCValidationGroup"
</ItemTemplate
<EditItemTemplate
<asp:ImageButton ID="btnYes2" runat="server" CommandName="Update" ImageUrl
AlternateText="Update" ValidationGroup="ucRCValidationGroup" CausesValidation="false"
<asp:ImageButton ID="btnCancel2" runat="server" CommandName="Cancel" ImageUrl
AlternateText="Cancel" ValidationGroup="ucRCValidationGroup" CausesValidation="false"
</EditItemTemplate
</telerik:GridTemplateColumn
<%
--This is an extra column to keep headers and items in line--
<telerik:GridTemplateColumn HeaderStyle-BorderWidth="0"
</Columns
<DetailTables
<telerik:GridTableView DataKeyNames="rec_date_id,mGuid" ClientDataKeyNames
Name="RentalActivityDates" HierarchyLoadMode="ServerOnDemand" EditMode
CommandItemDisplay="Top" Width="800px"
<CommandItemSettings ShowRefreshButton="false" AddNewRecordText="Add Dates" AddNewRecordImageUrl="~/Graphics/add.png"
<NoRecordsTemplate
<div
There are no records to display. Select Add Dates or Auto-Populate Rental Activity
to create records.
</div
</NoRecordsTemplate
<CommandItemTemplate
<table style="height: 25px; border: 0; margin-left: 6px; margin-top: 2px;
<tr
<td valign
<asp:LinkButton ID="lnkAddDates" runat="server" CommandName="InitInsert"><img style="border:0px" alt="" src="../Graphics/add.png" /> Add Rental Activity</asp:LinkButton
</td
<td
</td
<%
<asp:LinkButton ID="lnkAutoPopulate" OnClientClick="javascript:return confirm('Delete all Rental Activite and Auto-Populate?')"
runat="server" CommandName="AutoPopulate"><img style="border:0px" alt="" src="../Graphics/calculator.png" /> Auto-Populate Rental Activity</asp:LinkButton>
</td>--
</tr
</table
</CommandItemTemplate
<Columns
<telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName
UpdateImageUrl="~/Graphics/Yes.png" InsertImageUrl="~/Graphics/Yes.png" CancelImageUrl
EditImageUrl="~/Graphics/pencil.png" HeaderStyle-Width="50px" ItemStyle-Width
</telerik:GridEditCommandColumn
<telerik:GridBoundColumn DataField="mGuid" UniqueName="mGuid" DataType
Visible="false" ReadOnly
</telerik:GridBoundColumn
<telerik:GridBoundColumn DataField="rec_date_id" UniqueName="rec_date_id" DataType
Visible="false" ReadOnly
</telerik:GridBoundColumn
<telerik:GridTemplateColumn Resizable="false" ItemStyle-Width="25px" HeaderStyle-Width="25px" ItemStyle-HorizontalAlign="Center" UniqueName="MANUAL_DELETE_ACTIVITY"
<ItemTemplate
<asp:ImageButton ID="ibucRADeleteActivity" CommandName="Delete" OnClientClick="return DetailDelete(this);" runat="server" ImageUrl="~/Graphics/delete_16.png" AlternateText="Delete Rental Activity"
</ItemTemplate
<EditItemTemplate> </EditItemTemplate
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="EffDate" HeaderText="Eff Date" SortExpression="eff_date"
<ItemTemplate
<asp:Label ID="lblucRDEffDate" runat
Text='<%#DataBinder.Eval(Container.DataItem, "eff_date","{0:d}")%>
</ItemTemplate
<EditItemTemplate
<AMT:AMTTextBox ID="tbucRDEffDate" runat="server" Width="65px" ForceDate="true" Text='<%#DataBinder.Eval(Container.DataItem, "eff_date","{0:d}")%>'
<script type
registeredElements.push(
'<%# Container.FindControl("tbucRDEffDate").ClientID %>'
</script
</EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="EndDate" HeaderText="End Date" SortExpression
<ItemTemplate
<asp:Label ID="lblucRDEndDate" runat
Text='<%#DataBinder.Eval(Container.DataItem, "end_date","{0:d}")%>
</ItemTemplate
<EditItemTemplate
<AMT:AMTTextBox ID="tbucRDEndDate" runat="server" Width="65px" ForceDate="true" Text='<%#DataBinder.Eval(Container.DataItem, "end_date","{0:d}")%>'
<script type
registeredElements.push(
'<%# Container.FindControl("tbucRDEndDate").ClientID %>'
</script
</EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="Amount" HeaderText="Amount" SortExpression="amount"
<ItemTemplate
<asp:Label ID="lblucRDAmount" runat="server"><nobr
<%
#GetTableSafeDataBoundValue(Container.DataItem, "amount"
</nobr></asp:Label
</ItemTemplate
<EditItemTemplate
<AMT:AMTTextBox ID="tbucRDAmount" runat="server" Width="100px" MaxLength="12" ForceDecimal="true" Text='<%#DataBinder.Eval(Container.DataItem, "amount")%>' onblur
<script type
registeredElements.push(
'<%# Container.FindControl("tbucRDAmount").ClientID %>'
</script
</EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="Annual" HeaderText="Annual" SortExpression
<ItemTemplate
<asp:Label ID="lblAmount" runat="server"><nobr
<%
#GetTableSafeDataBoundValue(Container.DataItem, "annual"
</nobr></asp:Label
</ItemTemplate
<EditItemTemplate
<AMT:AMTTextBox ID="tbucRDAnnual" runat="server" Width="100px" MaxLength="12" ForceDecimal="true" Text='<%#DataBinder.Eval(Container.DataItem, "annual")%>' onblur="javascript:GetChargeMonthlyAmount();GetPSF(1);"
<script type
registeredElements.push(
'<%# Container.FindControl("tbucRDAnnual").ClientID %>'
</script
</EditItemTemplate
</telerik:GridTemplateColumn
<telerik:GridTemplateColumn UniqueName="persqft" HeaderText="PSF" SortExpression="per_sqft"
<ItemTemplate
<asp:Label ID="lblPSF" runat="server"><nobr
<%
#GetTableSafeDataBoundValue(Container.DataItem, "per_sqft"
</nobr></asp:Label
</ItemTemplate
<EditItemTemplate
<AMT:AMTTextBox ID="tbucRDPSF" runat="server" Width="65px" MaxLength="12" ForceDecimal="true" Text='<%#DataBinder.Eval(Container.DataItem, "per_sqft")%>' nfocus="javascript:SetORigPSF();" onblur="javascript:GetChargeAnnualAmount(true);GetChargeMonthlyAmount();"
<script type
registeredElements.push(
'<%# Container.FindControl("tbucRDPSF").ClientID %>'
</script
</EditItemTemplate
</telerik:GridTemplateColumn
</Columns
</telerik:GridTableView
</DetailTables
</MasterTableView
<ClientSettings
<ClientEvents OnRowDblClick="RowDblClick"
<Selecting AllowRowSelect="true"
<Scrolling AllowScroll="true"
</ClientSettings
</AMTdirect:AMTRadGrid
<asp:Button ID="btnucRCRefresh" runat="server" style="visibility:hidden;height: 0; width: 0; padding:0; margin:0;"
<asp:HiddenField ID="hfOrigPSF" runat="server"
<asp:HiddenField ID="hfPaymentType" runat="server"
<asp:HiddenField ID="hfSqft" runat="server"
<asp:HiddenField ID="hfPSF" runat="server"
<asp:HiddenField ID="hfTxtAmount" runat="server"
</asp:Panel
</
asp:Panel

Give a with the approach mentioned in the following forum to access the control in edit form.
Getting the new data row in client side
Also check out the following code library to retrieve editor values on client:
Retrieving grid editor value client side
Thanks,
Princy.