What I am trying to do is pass a value from my RadGrid to my RadWindow when a button is clicked, very similar to what is demonstrated in this demo: http://demos.telerik.com/aspnet-ajax/controls/examples/integration/gridandwindow/defaultcs.aspx?product=grid
The trouble I have is finding my RadWindow via Javascript. Every method I try results in a null object returned from the find command. The most recent method I tried was registering the javascript as a startup script. I'm not sure what exactly I'm doing wrong. See my code below:
ASPX
C#
The trouble I have is finding my RadWindow via Javascript. Every method I try results in a null object returned from the find command. The most recent method I tried was registering the javascript as a startup script. I'm not sure what exactly I'm doing wrong. See my code below:
ASPX
<telerik:RadGrid ID="durationGrid" runat="server" DataSourceID="durationDataSource" OnItemCommand="durationGrid_ItemCommand" AllowPaging="true" OnItemCreated="durationGrid_ItemCreated"> <MasterTableView runat="server" CommandItemDisplay="Top" UseAllDataFields="true" AutoGenerateColumns="false" DataKeyNames="ID"> <Columns> <telerik:GridBoundColumn DataField="Stat" HeaderText="Status" SortExpression="Stat" ReadOnly="true" /> <telerik:GridBoundColumn DataField="ItemName" HeaderText="Name" SortExpression="ItemName" ReadOnly="true" /> <telerik:GridBoundColumn DataField="PartNumber" HeaderText="Part Number" SortExpression="PartNumber" ReadOnly="true" /> <telerik:GridBoundColumn DataField="Serial" HeaderText="Serial #" SortExpression="Serial" ReadOnly="true" /> <telerik:GridBoundColumn DataField="LotNumber" HeaderText="Lot #" SortExpression="LotNumber" ReadOnly="true" /> <telerik:GridBoundColumn DataField="CrossRefID" HeaderText="PS #" SortExpression="CrossRefID" ReadOnly="true" /> <telerik:GridBoundColumn DataField="OEM" HeaderText="OEM" SortExpression="OEM" ReadOnly="true" /> <telerik:GridBoundColumn DataField="Consigned" HeaderText="Consigned" ReadOnly="true" /> <telerik:GridBoundColumn DataField="location" HeaderText="Location" SortExpression="location" ReadOnly="true" /> <telerik:GridBoundColumn DataField="Value" HeaderText="Value" SortExpression="Value" ReadOnly="true" DataFormatString="{0:c}" /> <telerik:GridBoundColumn DataField="ExpirationDate" HeaderText="Expiration Date" SortExpression="ExpirationDate" ReadOnly="true" DataFormatString="{0:MM/dd/yyy}" /> <telerik:GridTemplateColumn HeaderText=""> <ItemTemplate> <asp:ImageButton ID="NotesBtn" runat="server" ImageUrl="images/icons/notes.png" OnClick="NotesBtn_Click" /> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> <CommandItemSettings ShowExportToExcelButton="true" ShowAddNewRecordButton="false" /> </MasterTableView> <ExportSettings FileName="Duration Report"></ExportSettings> </telerik:RadGrid> <telerik:RadWindowManager ID="winma2" runat="server"> <Windows> <telerik:RadWindow ID="NotesWindow" runat="server" Modal="true" Behaviors="Close, Move" Width="540px" Height="490px" DestroyOnClose="false" VisibleStatusbar="false" ShowContentDuringLoad="false" ReloadOnShow="true" Skin="Simple" OnClientShow="OnClientShow" Title="Item Notes Editor" > </telerik:RadWindow> </Windows> </telerik:RadWindowManager>C#
protected void NotesBtn_Click(object sender, EventArgs e) { string script = "function openRadWin(value) {var win = $find('" + NotesWindow.ClientID + "');alert(win); Sys.Application.remove_load(openRadWin);}Sys.Application.add_load(openRadWin);"; ScriptManager.RegisterStartupScript(this, this.GetType(), "key", script, true); } protected void durationGrid_ItemCreated(object sender, GridItemEventArgs e) { if (e.Item is GridCommandItem) { Button btncmd = (e.Item as GridCommandItem).FindControl("ExportToExcelButton") as Button; if (btncmd != null) { RadScriptManager.GetCurrent(this.Page).RegisterPostBackControl(btncmd); } } if (e.Item is GridDataItem) { ImageButton NotesBtn = (ImageButton)e.Item.FindControl("NotesBtn"); NotesBtn.OnClientClick = "openRadWin('" + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ID"] + "');"; } }