I have a 3 level hierarchy level grid which I use rad window popup for edit and insert. I need to send the parent ID of a detail row on insert. For example, I have the parent as provider, and the child as service. When inserting a new service, I need to send it's parent provider ID that it is being inserted under. I have the pop up set up correctly in the itemcreated function here:
And I call the pop up from here but the ID is not set correctly ( will show how i set it and why it is wrong after this code:
I set the ID (currentProviderID) in a textbox when the provider is expanded. I set it in the itemcommand onhierarchyexpanded, but it is not right, since the user can expand a number of different providers, and not insert a new service in the LAST exanded provider. So my question is, where do I capture the providerID (or serviceID for a feed - 3rd level down) before calling the radopen so that I can send the providerID in the querystring?
Thanks,
Laura
| protected void providersGrid_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e) |
| { |
| if (e.Item is GridDataItem && e.Item.OwnerTableView.Name == "Master") |
| { |
| try |
| { |
| int providerID = Convert.ToInt32(e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["provider_id"]); |
| ImageButton editLink = (ImageButton)e.Item.FindControl("EditProviderLink"); |
| if (Session["readonly"].ToString() == "Y") |
| { |
| editLink.ImageUrl = "Images/viewSpelled.gif"; |
| editLink.ToolTip = "View"; |
| } |
| editLink.Attributes["href"] = "#"; |
| editLink.Attributes["onclick"] = string.Format("return ShowEditForm('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["provider_id"], e.Item.ItemIndex); |
| } |
| catch (Exception e1) |
| { |
| } |
| try |
| { |
| ImageButton editLink = (ImageButton)e.Item.FindControl("DeleteProviderLink"); |
| if (Session["readonly"].ToString() == "Y") |
| editLink.Visible = false; |
| else |
| { |
| editLink.Attributes["href"] = "#"; |
| editLink.Attributes["onclick"] = string.Format("return ShowDeleteForm('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["provider_id"], e.Item.ItemIndex); |
| } |
| } |
| catch (Exception e1) |
| { |
| } |
| } |
| if (e.Item is GridDataItem && e.Item.OwnerTableView.Name == "ServiceTableView") |
| { |
| try |
| { |
| ImageButton editLink = (ImageButton)e.Item.FindControl("EditServiceLink"); |
| if (Session["readonly"].ToString() == "Y") |
| { |
| editLink.ImageUrl="Images/viewSpelled.gif"; |
| editLink.ToolTip="View"; |
| } |
| editLink.Attributes["href"] = "#"; |
| int id =Convert.ToInt16( e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["service_id"]); |
| editLink.Attributes["onclick"] = string.Format("return ShowEditServiceForm('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["service_id"], e.Item.ItemIndex); |
| } |
| catch (Exception e1) |
| { |
| } |
| try |
| { |
| ImageButton editLink = (ImageButton)e.Item.FindControl("DeleteServiceLink"); |
| if (Session["readonly"].ToString() == "Y") |
| editLink.Visible = false; |
| else |
| { |
| editLink.Attributes["href"] = "#"; |
| editLink.Attributes["onclick"] = string.Format("return ShowDeleteServiceForm('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["service_id"], e.Item.ItemIndex); |
| } |
| } |
| catch (Exception e1) |
| { |
| } |
| } |
| if (e.Item is GridDataItem && e.Item.OwnerTableView.Name == "FeedTableView") |
| { |
| try |
| { |
| ImageButton editLink = (ImageButton)e.Item.FindControl("EditFeedLink"); |
| if (Session["readonly"].ToString() == "Y") |
| { |
| editLink.ImageUrl = "Images/viewSpelled.gif"; |
| editLink.ToolTip = "View"; |
| } |
| editLink.Attributes["href"] = "#"; |
| editLink.Attributes["onclick"] = string.Format("return ShowEditFeedForm('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["feed_id"], e.Item.ItemIndex); |
| } |
| catch (Exception e1) |
| { |
| } |
| try |
| { |
| ImageButton editLink = (ImageButton)e.Item.FindControl("DeleteFeedLink"); |
| if (Session["readonly"].ToString() == "Y") |
| editLink.Visible = false; |
| else |
| { |
| editLink.Attributes["href"] = "#"; |
| editLink.Attributes["onclick"] = string.Format("return ShowDeleteFeedForm('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["feed_id"], e.Item.ItemIndex); |
| } |
| } |
| catch (Exception e1) |
| { |
| } |
| } |
| } |
And I call the pop up from here but the ID is not set correctly ( will show how i set it and why it is wrong after this code:
| function ShowInsertServiceForm() { |
| // get username from querystring to pass to next window |
| var urlArgs = cbeGetURLArguments(); |
| var userName = urlArgs.NAME; |
| var sync = urlArgs.SYNC; |
| var providerIDTxtBx = document.getElementById("currentProviderID"); |
| var pID = providerIDTxtBx.value; |
| var oWnd = window.radopen("editServiceForm.aspx?SYNC=" + sync + "&NAME=" + userName + "&pID=" + pID, "providerDialog"); |
| //set a function to be called when RadWindow is closed |
| oWnd.add_close(OnClientServiceClose); |
| var oArg = new Object(); |
| oArg.serviceID = -99; |
| //set the arguments that will be needed on the way back so they are not undefined |
| oWnd.argument = oArg; |
| return false; |
| } |
Thanks,
Laura