| <telerik:RadGrid ID="RadGridSearchResult" runat="server" |
| OnNeedDataSource="RadGridSearchResult_NeedDataSource" AllowPaging="True" |
| PageSize="5" GridLines="None" AutoGenerateColumns="False" > |
| <MasterTableView> |
| <NoRecordsTemplate>No record was found!</NoRecordsTemplate> |
| <Columns> |
| . |
| . |
| . |
| </Columns> |
| </MasterTableView> |
| </telerik:RadGrid> |
| RadGridSearchResult.MasterTableView.NoRecordsTemplate = new namicsNoRecordsTemplate(GetGlobalResourceObject("NATITitles", "NATIPSNoRecordsMessage").ToString()); |
| RadGridSearchResult.MasterTableView.PagerStyle.Mode = GridPagerMode.NumericPages; |
| RadGridSearchResult.MasterTableView.PagerStyle.Position = GridPagerPosition.TopAndBottom; |
| RadGridSearchResult.MasterTableView.PagerStyle.PageButtonCount = 5; |
| RadGridSearchResult.MasterTableView.PagerStyle.NextPagesToolTip = GetGlobalResourceObject("NATITitles", "NATIPSPagerStyleNextPagesToolTip").ToString(); |
| RadGridSearchResult.MasterTableView.PagerStyle.PrevPagesToolTip = GetGlobalResourceObject("NATITitles", "NATIPSPagerStylePrevPagesToolTip").ToString(); |
| RadGridSearchResult.PagerStyle.PagerTextFormat = "Seite {0} von {1}, Person {2} von {3} von gesamt {5}."; |
I open a popup by using code shown below and want to close it and send notification back to the original page once a user clicks on the save button within this popup.
Original Page Code:
<telerik:radwindowmanager id="RadWindowManager1" runat="server" skin="Office2007">
<Windows>
<telerik:RadWindow ID="rwHazard" runat="server" Height="500px" Width="700px" Left="300px"> </telerik:RadWindow>
</Windows>
</telerik:radwindowmanager>
Page_Load()
{
Response.Redirect("~/IH_Module/Assessment_Dashboard.aspx?Module_ID=22&HazardIDType=" + HazardIDType);
}
Popup page code:
ASPX
<script type="text/javascript">
function GetRadWindow()
{
var oWindow = null;
if (window.radWindow) oWindow = window.radWindow;
else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
return oWindow;
}
function CallParentWindow()
{
var oWindow = GetRadWindow();
CloseWindow()
}
function CloseWindow()
{
var oWindow = GetRadWindow();
oWindow.BrowserWindow.location.reload();
oWindow.Close();
}
function Close()
{
var oWindow = GetRadWindow();
oWindow.Close();
}
</script>
<asp:Label ID="InjectScriptLabel" runat="server" Text=""></asp:Label>
protected void btnSelect_Click(object sender, EventArgs e)
{
try
{
string sHazardName = string.Empty;
string sHazardType = string.Empty;
string sHazardIDType = string.Empty;
foreach (Telerik.Web.UI.GridDataItem dataItem in rdHazard.SelectedItems)
{
if ((sHazardIDType.Trim().Length == 0))
{
sHazardIDType = dataItem.Cells[3].Text.ToString();
}
else
{
sHazardIDType = sHazardIDType + "^" + dataItem.Cells[3].Text.ToString();
}
}
if (sHazardIDType == "")
{
throw new Exception("Please select a hazard");
}
Response.Redirect("~/IH_Module/Assessment_Dashboard.aspx?Module_ID=22&HazardIDType=" + HazardIDType);
InjectScriptLabel.Text = "<script>CallParentWindow()</" + "script>";
}
catch (Exception ex)
{
PMAP_Common_Methods.DisplayUserMessage(ex.Message);
}
}

<
appSettings>
<!--
Sets the skin for all RadControls to Hay -->
<
add key="Telerik.Skin" value="Hay"/>
</
appSettings>

| <telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy1" runat="server"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadAjaxManagerProxy1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1"/> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="RadGrid1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1"/> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
| <telerik:AjaxUpdatedControl ControlID="RadToolTipManager1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManagerProxy> |
| <telerik:RadScriptBlock ID="rdScriptBlockCloseSearchWindow" runat="server"> |
| <script language="javascript" type="text/javascript"> |
| function CloseActiveSuppliersSearchGridToolTip(selectedSupplierID) |
| { |
| var controller = Telerik.Web.UI.RadToolTipController.getInstance(); |
| var tooltip = controller.get_activeToolTip(); |
| if (tooltip) tooltip.hide(); |
| } |
| function CloseActiveProductSearchGridToolTip(selectedproductID) |
| { |
| var controller = Telerik.Web.UI.RadToolTipController.getInstance(); |
| var tooltip = controller.get_activeToolTip(); |
| if (tooltip) tooltip.hide(); |
| } |
| </script> |
| </telerik:RadScriptBlock> |
| <asp:Panel ID="pnlOrderlineItems" runat="server"> |
| <asp:UpdatePanel ID="LineItemsGridPanel" runat="server" UpdateMode="Conditional"> |
| <ContentTemplate> |
| <telerik:RadGrid .................. OnItemCreated="RadGrid1_ItemCreated"> |
| <MasterTableView> |
| ............ |
| <EditFormSettings EditFormType="Template"> |
| <FormTemplate> |
| ................... |
| <telerik:RadTextBox ID="txtEditSupplier" runat="server" Skin="Office2007"> |
| </telerik:RadTextBox> |
| <asp:LinkButton ID="lnkEditSupplierSearch" runat="server" Skin="Office2007"> |
| <img style="border:0px;vertical-align:middle;" src="<%= ResolveUrl("~") %>Images/Details.gif" alt="Search Supplier" /> |
| </asp:LinkButton> |
| <telerik:RadTextBox ID="txtEditProduct" runat="server" Skin="Office2007"> |
| </telerik:RadTextBox> |
| <asp:LinkButton ID="lnkEditProductrSearch" runat="server" Skin="Office2007"> |
| <img style="border:0px;vertical-align:middle;" src="<%= ResolveUrl("~") %>Images/Details.gif" alt="Search Supplier" /> |
| </asp:LinkButton> |
| ................... |
| </FormTemplate> |
| </EditFormSettings> |
| </MasterTableView> |
| </telerik:RadGrid> |
| <telerik:RadToolTipManager runat="server" ID="RadToolTipManager1" Width="800px" Height="500px" |
| OnAjaxUpdate="RadToolTipManager1_AjaxUpdate" RelativeTo="Element" Animation="Slide" |
| Position="MiddleRight" Modal="true" ContentScrolling="Auto" AutoTooltipify="false" |
| ShowEvent="OnClick" HideEvent="FromCode"> |
| </telerik:RadToolTipManager> |
| </ContentTemplate> |
| </asp:UpdatePanel> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Height="75px" |
| Width="75px" Transparency="1"> |
| <img alt="Loading..." src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading.gif") %>' |
| style="border: 0;" /> |
| </telerik:RadAjaxLoadingPanel> |
| protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e) |
| { |
| if (e.Item is GridEditFormItem && e.Item.IsInEditMode) |
| { |
| GridEditFormItem editFormItem = (GridEditFormItem)e.Item; |
| SetSupplierSearch(editFormItem); |
| SetProductSearch(editFormItem); |
| } |
| } |
| private void SetSupplierSearch(GridEditFormItem editFormItem) |
| { |
| LinkButton lnkbtnSupplierSearch = (LinkButton)editFormItem.FindControl("lnkEditSupplierSearch"); |
| if (lnkbtnSupplierSearch != null) |
| { |
| RadToolTipManager1.TargetControls.Add(lnkbtnSupplierSearch.ClientID, "lnkbtnSupplierSearch", true); |
| } |
| RadTextBox txtEditSupplier = (RadTextBox)editFormItem.FindControl("txtEditSupplier"); |
| if (txtEditSupplier != null) |
| { |
| string s = "AssignHdnSupplierSearchText($get('" + txtEditSupplier.ClientID + "'))"; |
| lnkbtnSupplierSearch.Attributes.Add("onclick", s); |
| } |
| } |
| private void SetProductSearch(GridEditFormItem editFormItem) |
| { |
| LinkButton lnkbtnProdNumSearch = (LinkButton)editFormItem.FindControl("lnkEditProdNumberSearch"); |
| LinkButton lnkbtnProdDescSearch = (LinkButton)editFormItem.FindControl("lnkEditProdDescSearch"); |
| if (lnkbtnProdNumSearch != null) |
| { |
| RadToolTipManager1.TargetControls.Add(lnkbtnProdNumSearch.ClientID, "lnkbtnProdNumSearch", true); |
| } |
| if (lnkbtnProdDescSearch != null) |
| { |
| RadToolTipManager1.TargetControls.Add(lnkbtnProdDescSearch.ClientID, "lnkbtnProdDescSearch", true); |
| } |
| RadTextBox txtEditProdNumber = (RadTextBox)editFormItem.FindControl("txtEditProdNumber"); |
| RadTextBox txtEditProdDesc = (RadTextBox)editFormItem.FindControl("txtEditProductDesc"); |
| if (txtEditProdNumber != null) |
| { |
| string s = "AssignHdnProdNumSearchText($get('" + txtEditProdNumber.ClientID + "'))"; |
| lnkbtnProdNumSearch.Attributes.Add("onclick", s); |
| } |
| if (txtEditProdDesc != null) |
| { |
| string s = "AssignHdnProdDescSearchText($get('" + txtEditProdDesc.ClientID + "'))"; |
| lnkbtnProdDescSearch.Attributes.Add("onclick", s); |
| } |
| } |
| protected void RadToolTipManager1_AjaxUpdate(object sender, ToolTipUpdateEventArgs args) |
| { |
| this.UpdateToolTip(args.Value, args); |
| } |
| private void UpdateToolTip(string elementID, ToolTipUpdateEventArgs args) |
| { |
| if (elementID.ToUpper() == "LNKBTNSUPPLIERSEARCH") |
| { |
| UpdateSupplierToolTip(elementID, args); |
| } |
| else if (elementID.ToUpper() == "LNKBTNPRODNUMSEARCH" || elementID.ToUpper() == "LNKBTNPRODDESCSEARCH") |
| { |
| UpdateProductToolTip(elementID, args); |
| } |
| } |
| private void UpdateSupplierToolTip(string elementID, ToolTipUpdateEventArgs args) |
| { |
| UpdatePanel panel = args.UpdatePanel; |
| List<ISupplier> listSuppliers = DoSupplierSearch(); |
| Control cntrl = this.LoadControl("SupplierSearchResults.ascx"); |
| panel.ContentTemplateContainer.Controls.Add(cntrl); |
| SupplierSearchResults supplierResultsCntrl = (SupplierSearchResults)cntrl; |
| supplierResultsCntrl.SuppliersList = listSuppliers; |
| supplierResultsCntrl.ParentControl = panel; |
| supplierResultsCntrl.ParentControlName = "LINEITEMSEDITFORM"; |
| panel.ContentTemplateContainer.Controls.Add(cntrl); |
| } |
| private void UpdateProductToolTip(string elementID, ToolTipUpdateEventArgs args) |
| { |
| UpdatePanel panel = args.UpdatePanel; |
| List<Product> listPrds = DoProductSearch(elementID); |
| Control cntrl = this.LoadControl("ProductSearchResults.ascx"); |
| panel.ContentTemplateContainer.Controls.Add(cntrl); |
| ProductSearchResults productResultsCntrl = (ProductSearchResults)cntrl; |
| productResultsCntrl.ProductList = listPrds; |
| productResultsCntrl.ParentControl = panel; |
| productResultsCntrl.ParentControlName = "LINEITEMSEDITFORM"; |
| panel.ContentTemplateContainer.Controls.Add(cntrl); |
| } |
| <DetailTables> |
| <telerik:GridTableView Name="gtv_account2" runat="server" DataKeyNames="InvoiceNumber, InvoiceDate, Outstanding"> |
| . |
| <telerik:GridTemplateColumn UniqueName="gtv_account2_buttons"> |
| <ItemTemplate> |
| <asp:ImageButton ID="Invoice_Query" CommandName="Invoice_Query" ImageUrl="~/Images/Icons/invoice_query.gif" runat="server" AlternateText="Click to query invoice" CausesValidation="false" /> |
| . |
| . |
| . |
| <telerik:RadToolTipManager ID="RadToolTipManager_Query_Invoice" HideEvent="ManualClose" Modal="true" runat="server" OnAjaxUpdate="OnAjaxUpdate_Query_Invoice" RelativeTo="BrowserWindow"> |
| </telerik:RadToolTipManager> |
Clicking the image button launches the tooltip, and the function in the definition above it hit (OnAjaxUpdate_Query_Invoice).
How can I access the datakeyvalues in the following function?
| Protected Sub OnAjaxUpdate_Query_Invoice(ByVal sender As Object, ByVal args As ToolTipUpdateEventArgs) |
| . |
| End Sub |
The following didn't work:
| value = RadGrid1.MasterTableView.DetailTables(0).DataKeyValues(args.Value)("InvoiceNumber") |
Thanks for any help!