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"
] +
"');"
;
}
}