var oWnd = null;var modalparent = true;if (!modalparent) { // open modal popup inside oWnd = radopen(url);}else { // open modal popup on parent window oWnd = window.parent.radopen(url);} // set height, widthoWnd.SetHeight(iHeight); // it doesn't work whenopen modal popup on parent window
oWnd.SetWidth(iWidth);<
telerik:GridTemplateColumn HeaderText = "Print Letters/Post Cards" UniqueName = "PrintLetter" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign
<ItemTemplate
<telerik:RadComboBox ID= "Print" runat
<Items
<telerik:RadComboBoxItem runat="server" Text
<telerik:RadComboBoxItem runat="server" Text
<telerik:RadComboBoxItem runat="server" Text
<telerik:RadComboBoxItem runat="server" Text
</Items
</telerik:RadComboBox
</ItemTemplate
</
telerik:GridTemplateColumn
protected void ItemDataBound(object sender, GridItemEventArgs
{
GridDataItem dataItem = e.Item as GridDataItem
RadComboBox Print = ((RadComboBox)dataItem["PrintLetter"].FindControl("Print"
Print.Text =
"1year"
}
<asp:Panel ID="pnlNewsAdmin" runat="server"> <telerik:RadAjaxPanel ID="radAjaxPanel_MLONewsAdmin" runat="server" LoadingPanelID="radAjaxLoadingPanel_MLONewsAdmin"> <telerik:RadAjaxLoadingPanel ID="radAjaxLoadingPanel_MLONewsAdmin" runat="server" /> <telerik:RadGrid ID="rgNewsAdmin" runat="server" HeaderStyle-Font-Size="Smaller" ItemStyle-Font-Size="Smaller" AllowMultiRowSelection="false" AlternatingItemStyle-Font-Size="Smaller" AllowPaging="true" PageSize="10" AllowSorting="true" AllowFilteringByColumn="false" AutoGenerateColumns="false" GridLines="None" Skin="Default" ItemStyle-BackColor="#ddeeff" AlternatingItemStyle-BackColor="White" HeaderStyle-BackColor="AliceBlue" HeaderStyle-CssClass="BACGridHeader" OnNeedDataSource="rgNewsAdmin_OnNeedDataSource" OnInsertCommand="rgNewsAdmin_OnInsertCommand" OnUpdateCommand="rgNewsAdmin_OnUpdateCommand" OnDeleteCommand="rgNewsAdmin_OnDeleteCommand" OnItemCommand="rgNewsAdmin_OnItemCommand"> <PagerStyle Mode="NumericPages" /> <MasterTableView ShowHeadersWhenNoRecords="true" DataKeyNames="ManageNewsID" CommandItemDisplay="Top" InsertItemPageIndexAction="ShowItemOnCurrentPage"> <CommandItemSettings AddNewRecordText="Add News Item..." /> <Columns> <telerik:GridBoundColumn DataField="ManageNewsID" Visible="false" /> <telerik:GridBoundColumn DataField="Description" HeaderText="Description" SortExpression="Description" /> <telerik:GridBoundColumn DataField="URL" HeaderText="URL" SortExpression="URL" /> <telerik:GridTemplateColumn HeaderText="Start Date" SortExpression="StartDate"> <ItemTemplate> <%# (DataBinder.Eval(Container,"DataItem.StartDate") != null ? DateTime.Parse(DataBinder.Eval(Container,"DataItem.StartDate").ToString()).ToShortDateString() : "") %> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Expire Date" SortExpression="ExpireDate"> <ItemTemplate> <%# (DataBinder.Eval(Container,"DataItem.ExpireDate") != null ? DateTime.Parse(DataBinder.Eval(Container,"DataItem.ExpireDate").ToString()).ToShortDateString() : "") %> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="SelectedRoleDescriptions" HeaderText="Roles" SortExpression="SelectedRoleDescriptions" ItemStyle-Width="275px" /> <telerik:GridEditCommandColumn ButtonType="ImageButton" EditImageUrl="edit.gif" UniqueName="EditColumn" EditText="Edit News Item" /> <telerik:GridButtonColumn ConfirmText="Delete News Item?" UniqueName="DeleteColumn" Text="Delete News Item" ConfirmTitle="Delete" ConfirmDialogType="RadWindow" CommandName="Delete" ButtonType="ImageButton" ImageUrl="delete.gif" /> </Columns> <EditFormSettings EditColumn-ButtonType="ImageButton" EditColumn-UniqueName="EditColumn" UserControlName="~/EditItem.ascx" EditFormType="WebUserControl" /> </MasterTableView> </telerik:RadGrid> </telerik:RadAjaxPanel> </asp:Panel><telerik:RadScriptBlock ID="radScriptBlock_EditMLONewsItem" runat="server"> <script type="text/javascript"> String.prototype.trim = function() { return this.replace(/^\s\s*/,'').replace(/\s\s*$/,''); } function CanSave() { var errorMsg = ""; var txtDescription = $get("<%= txtDescription.ClientID %>"); var txtURL = $get("<%= txtURL.ClientID %>"); var rdpStartDate = $find("<%= rdpStartDate.ClientID %>"); var rdpExpireDate = $find("<%= rdpExpireDate.ClientID %>"); var description = txtDescription.value.trim(); var url = txtURL.value.trim(); var startDate = rdpStartDate.get_selectedDate(); var expireDate = rdpExpireDate.get_selectedDate(); if (description.length == 0) { errorMsg = "Description\n"; } if (url.length == 0) { errorMsg = errorMsg + "URL\n"; } if (startDate == null) { errorMsg = errorMsg + "Start Date\n"; } if (expireDate == null) { errorMsg = errorMsg + "Expire Date\n"; } if ((startDate != null) && (expireDate != null)) { if (startDate > expireDate) { errorMsg = errorMsg + "Start Date must occur before Expire Date.\n"; } } try { if (!HasRolesSelected()) { errorMsg = errorMsg + "At least one User Role must be selected.\n"; } } catch(e) {} if (errorMsg.length > 0) { alert("The following items must be completed in order to save this News Item:\n" + errorMsg); return false; } return true; } </script> </telerik:RadScriptBlock> <table> <tr> <td valign="top" width="425px"> <table> <tr> <td> <asp:Label ID="lblDescription" runat="server" Text="Description" /> </td> <td> <asp:TextBox ID="txtDescription" runat="server" MaxLength="255" Width="300px" Text='<%# ((DataBinder.Eval(Container,"DataItem.Description").ToString() != "") ? DataBinder.Eval(Container,"DataItem.Description") : "") %>' /> </td> </tr> <tr> <td> <asp:Label ID="lblURL" runat="server" Text="URL" /> </td> <td> <asp:TextBox ID="txtURL" runat="server" MaxLength="255" Width="300px" Text='<%# ((DataBinder.Eval(Container,"DataItem.URL").ToString() != "") ? DataBinder.Eval(Container, "DataItem.URL") : "") %>' /> </td> </tr> <tr> <td> <asp:Label ID="lblStartDate" runat="server" Text="Start Date" /> </td> <td> <telerik:RadDatePicker ID="rdpStartDate" runat="server" /> </td> </tr> <tr> <td> <asp:Label ID="lblExpireDate" runat="server" Text="Expire Date" /> </td> <td> <telerik:RadDatePicker ID="rdpExpireDate" runat="server" /> </td> </tr> </table> </td> <td> <table> <tr> <td valign="top"> <asp:Label ID="lblRoles" runat="server" Text="Roles" /> </td> <td> <RoleSelector:roleSelector ID="roleSelector" runat="server" /> </td> </tr> </table> </td> </tr> </table> <div style="padding-top: 10px;"> <asp:Button ID="btnInsert" runat="server" Text="Save" CommandName="PerformInsert" OnClientClick="if(CanSave())return true;" Visible='<%# (DataBinder.Eval(Container,"DataItem.ManageNewsID").ToString() != "" ? false : true) %>' /> <asp:Button ID="btnUpdate" runat="server" Text="Save" CommandName="Update" OnClientClick="if (CanSave()) return true;" Visible='<%# (DataBinder.Eval(Container,"DataItem.ManageNewsID").ToString() != "" ? true : false) %>' /> <asp:Button ID="btnCancel" runat="server" Text="Cancel" CommandName="Cancel" CausesValidation="false" /> </div> 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
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="admin_Default2"
Title="Untitled Page" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>CSA - Compliance, Safety, Accountability</title>
</head>
<body runat="server" id="MyBody">
<a style="display: none;" href="#content">Skip to Content</a>
<form id="form1" runat="server">
<telerik:RadScriptManager ID="scriptManager" runat="server">
</telerik:RadScriptManager>
<telerik:RadAjaxManager runat="server" ID="ajaxManager">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="grid">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="grid" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadGrid runat="server" ID="grid" AutoGenerateColumns="true" AutoGenerateEditColumn="true"
OnNeedDataSource="getDocuments" Width="300">
<MasterTableView>
<EditFormSettings EditFormType="Template">
<FormTemplate>
<telerik:RadAjaxManagerProxy runat="server" ID="proxy">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="btn">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="txt" />
<telerik:AjaxUpdatedControl ControlID="lbl" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManagerProxy>
<telerik:RadAsyncUpload runat="server" ID="fileUpload" />
<asp:TextBox runat="server" ID="txt" />
<asp:Button runat="server" ID="btn" OnClick="click" Text="Add" />
<asp:Label runat="server" ID="lbl" />
<asp:Button runat="server" CommandName='<%=RadGrid.UpdateCommandName%>' Text="Update" />
</FormTemplate>
</EditFormSettings>
</MasterTableView></telerik:RadGrid>
</form>
</body>
</html>
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void getDocuments(object sender, GridNeedDataSourceEventArgs e)
{
(sender as RadGrid).DataSource = new int[] { 2, 3, 4, 5, 6, 7 };
}
protected void click(object sender, EventArgs e)
{
((sender as Button).NamingContainer.FindControl("lbl") as Label).Text +=
"<br/>" + ((sender as Button).NamingContainer.FindControl("txt") as TextBox).Text;
((sender as Button).NamingContainer.FindControl("txt") as TextBox).Text = "";
}
}
The final result should be that clicking the add does not submit the rest of the edit panel, but clicking the other button does