or
I pulled this below javascript from the sample article. All works well except for the grid.mastertableview. It is always null.
I have tried it with client row select enable and not.
Is there another setting on the grid that I missed to fuly activate the client side api?
Visual studio 2008 with the Telerik 2008 Q2.
Thanks for any help.
Bill
function ShowEditForm(id, rowIndex) {
var grid = window["<%= rgIncoming.ClientID %>"];
var rowControl = grid.MasterTableView.Rows[rowIndex].Control; <--Problem here
grid.MasterTableView.SelectRow(rowControl,
true);
window.radopen(
"wfProcessIncomingItemV1.aspx?AttachmentID=" + id, "wndProcessAttachment");
return false;
}
function confirmCancelBackFnChild(arg) { // var grid = $telerik.findControl(document.body, "RadGrid2"); var grid = $find("<%= RadGrid1.ClientID %>"); if (arg) { var masterTable = $find("<%= RadGrid1.ClientID %>").get_masterTableView(); var detailTable = grid.get_detailTables()[0]; var detailtableName = detailTable.get_name(); // alert(detailtableName); document.getElementById('<%=HiddenField1.ClientID%>').value = "true"; // detailTable.fireCommand("CancelConfirmed", 0); detailTable.fireCommand("CancelConfirmed", String.Empty); } else { document.getElementById('<%=HiddenField1.ClientID%>').value = "false"; } document.getElementById('<%=HiddenField1.ClientID%>').value = "false"; }protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e) { RadGrid grid = (source as RadGrid); if (true && e.Item.OwnerTableView.Name == "DemographicsDependants") // Child Table { switch (e.CommandName) { case "Cancel": int searchlocation = 0; string[] retrievedLocations = (string[])Session["LocationData"]; Array.Sort(retrievedLocations); string location = Session["SessionOtherInfoFacilityName"].ToString().Trim(); searchlocation = Array.BinarySearch(retrievedLocations, location); // if (HiddenField1.Value == "false" && searchlocation >= 0) if (HiddenField1.Value == "false") { e.Canceled = true; Session["savedIndex"] = e.Item.ItemIndex; RadWindowManager1.RadConfirm("Continue with Cancel in Child Table? Warning, you will loose any unsaved work!!!", "confirmCancelBackFnChild", 350, 150, null, "Cancel Confirm"); } break; case "CancelConfirmed": foreach (GridEditableItem item in RadGrid1.MasterTableView.DetailTables[0].GetItems(GridItemType.EditFormItem)) { if (item.IsInEditMode && item.ItemIndex == (int)Session["savedIndex"]) { item.FireCommandEvent("Cancel", String.Empty); } } // HiddenField1.Value = "false"; break; } } }<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" > <telerik:RadPanelBar runat="server" ID="RadPanelBar1" ExpandMode="SingleExpandedItem" Width="100%"> <Items> <telerik:RadPanelItem Expanded="false" Text="Advanced Settings" runat="server"> <Items> <telerik:RadPanelItem Value="AccountInformation" runat="server"> <ItemTemplate>[I have a table here] </ItemTemplate> </telerik:RadPanelItem> </Items> </telerik:RadPanelItem> </Items> </telerik:RadPanelBar></telerik:RadAjaxPanel>RadScheduler1.ExportSettings.Pdf.PaperSize = SchedulerPaperSize.A4;RadScheduler1.ExportSettings.Pdf.PaperOrientation = SchedulerPaperOrientation.Landscape;RadScheduler1.ExportSettings.Pdf.PageTopMargin = Unit.Parse("10mm");RadScheduler1.ExportSettings.Pdf.PageBottomMargin = Unit.Parse("10mm");RadScheduler1.ExportSettings.Pdf.PageLeftMargin = Unit.Parse("10mm");RadScheduler1.ExportSettings.Pdf.PageRightMargin = Unit.Parse("10mm");RadScheduler1.ExportSettings.Pdf.AllowPaging = true;RadScheduler1.RowHeaderWidth = Unit.Parse("45mm");RadScheduler1.Width = Unit.Parse("200mm");SqlDSEmployee.SelectCommand = sql();SqlDSEmployee.DataBind();RadScheduler1.ExportToPdf();<ExportSettings OpenInNewWindow="True"> <Pdf PageTopMargin="10mm" PageBottomMargin="10mm" PageLeftMargin="10mm" PageRightMargin="10mm" PaperSize="A4" StyleSheets="Content/StylePDF.css"> </Pdf></ExportSettings>
<telerik:RadAjaxPanel ID="RadAjaxPanel2" runat="server">
<telerik:RadSearchBox
ID="RadSearchBox1"
runat="server"
Width="300px"
EmptyMessage="Search..."
OnClientSearch="aspButtonCallbackFn"
ShowSearchButton="true">
<DropDownSettings Height="400" Width="300" />
<WebServiceSettings Path="Main.aspx" Method="GetResults" />
</telerik:RadSearchBox>
<asp:Button runat="server" ID="Button6" OnClick="Button1_Click" Style="display: none" />
<script type="text/javascript" language="javascript">
function aspButtonCallbackFn() {
__doPostBack('<%=Button6.UniqueID%>', "");
}
</script>
</telerik:RadAjaxPanel>
<telerik:RadWindow
ID="modalPopup"
runat="server"
Width="360px"
Height="360px"
Modal="true">
<ContentTemplate>
<div style="height:100px; width:300px; text-align:center;">
<asp:Table runat="server">
<asp:TableRow>
<asp:TableCell ColumnSpan="2">
<asp:Label
ID="Lbl_Pnl_ForAdd"
runat="server"
Text="" />
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell HorizontalAlign="Center">
<asp:Button
ID="Bttn_Add"
Width="100"
OnClick="Bttn_Add_Click"
Text="Add"
runat="server"
class="button" />
</asp:TableCell>
<asp:TableCell HorizontalAlign="Center">
<asp:Button
ID="Bttn_Cancel_ForAdd"
Width="100"
OnClick="Bttn_Cancel_ForAdd_Click"
Text="Cancel"
runat="server"
class="button" />
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</div>
</ContentTemplate>
</telerik:RadWindow>
telerik:RadSearchBox ID="RadSearchBox1" runat="server" Width="300px" EmptyMessage="Search..." OnClientSearch="aspButtonCallbackFn" ShowSearchButton="true"> <DropDownSettings Height="400" Width="300" /> <WebServiceSettings Path="Main.aspx" Method="GetResults" /></telerik:RadSearchBox><asp:Button runat="server" ID="Button6" OnClick="Button1_Click" Style="display: none" /><script type="text/javascript" language="javascript"> function aspButtonCallbackFn() { __doPostBack('<%=Button6.UniqueID%>', ""); }</script>
<telerik:RadWindow
ID="modalPopup"
runat="server"
Width="360px"
Height="360px"
Modal="true">
<ContentTemplate>
<div style="height:100px; width:300px; text-align:center;" class="popup_Container">
<asp:Table runat="server">
<asp:TableRow>
<asp:TableCell ColumnSpan="2">
<asp:Label
ID="Lbl_Pnl_ForAddExistingInterest"
runat="server"
Text="" />
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell HorizontalAlign="Center">
<asp:Button
ID="Bttn_Add_ForAddExistingInterest"
Width="100"
OnClick="Bttn_Add_ForAddExistingInterest_Click"
Text="Add"
runat="server"
class="button" />
</asp:TableCell>
<asp:TableCell HorizontalAlign="Center">
<asp:Button
ID="Bttn_Cancel_ForAddExistingInterest"
Width="100"
OnClick="Bttn_Cancel_ForAddExistingInterest_Click"
Text="Cancel"
runat="server"
class="button" />
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</div>
</ContentTemplate>
</telerik:RadWindow>[WebMethod]public static SearchBoxData GetResults(SearchBoxContext context){ return SQLAccess.Instance.Search(context.Text);}protected void Button1_Click(object sender, EventArgs e){ try { string selectedData = RadSearchBox1.Text; Lbl_Pnl_ForAddExistingInterest.Text = String.Format("Do you want to add {0}?", selectedData); RadAjaxPanel2.ResponseScripts.Add(String.Format("$find('{0}').ajaxRequest();", RadAjaxPanel2.ClientID)); string script = "function f(){$find(\"" + modalPopup.ClientID + "\").show(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);"; ScriptManager.RegisterStartupScript(this, this.GetType(), "key", script, true); }}