Using the PageMethods Load on Demand demos, do I have the ability to hook up a JavaScript onComplete() function as I would with a regular Page Method?
Using the below example, where could I hook up my onComplete() function?:
<
telerik:RadTreeView
ID
=
"RadTreeView1"
runat
=
"server"
>
<
WebServiceSettings
Path
=
"Default.aspx"
Method
=
"LoadNodes"
/>
</
telerik:RadTreeView
>
[WebMethod]
public static RadTreeNodeData[] LoadNodes(RadTreeNodeData node, object context)
{
List<
RadTreeNodeData
> result = new List<
RadTreeNodeData
>();
RadTreeNodeData node = new RadTreeNodeData();
node.Text = "Loaded on demand";
node.ExpandMode = TreeNodeExpandMode.WebService;
return result.ToArray();
}
<telerik:GridDropDownColumn DataField="_UnloadTypeName"
DataSourceID="RadGrid1_NeedDataSource"
FilterControlAltText="Filter UnloadTypeColumn column"
HeaderText="Unloading Type" ListTextField="_UnloadTypeName"
ListValueField="_UnloadTypeName" UniqueName="UnloadTypeColumn">
<HeaderStyle Width="100px" />
<ItemStyle Width="100px" />
</telerik:GridDropDownColumn>
please help.
thanks,
Minh Bui
ScriptManager.RegisterStartupScript(Page, this.GetType(), "message", string.Format("confirm_select('{0}','{1}');", RadGrid_IDPicker.ClientID,row.RowIndex + 1), true);
<
script
type
=
"text/javascript"
>
var selectedRowIndex = -1;
function confirm_select(gridViewID, rowIndex) {
debugger;
var gridview = document.getElementById(gridViewID);
var master = gridViewID.get_masterTableView();
if (confirm("You are leaving the parent level of the currently selected ID, are you sure?") == true) {
for (var i = 1; i <
gridview.rows.length
; i++) {
//not the selected row
if (i != rowIndex)
gridview.rows[i]
.style.fontWeight
=
'normal'
;
//selected row
else {
gridview.rows[i]
.style.fontWeight
=
'bold'
;
selectedRowIndex
=
rowIndex
;
}
}
}
else {
if (selectedRowIndex != -1)
gridview.rows[selectedRowIndex]
.style.fontWeight
=
'bold'
;
}
}
</script>
var master = gridViewID.get_masterTableView();
var master = gridview.get_masterTableView();
<
telerik:RadGrid
ID
=
"RadGrid_IDPicker"
AllowSorting
=
"True"
PageSize
=
"100"
AllowPaging
=
"True"
runat
=
"server"
GridLines
=
"None"
OnPageIndexChanged
=
"RadGrid_IDPicker_PageIndexChanged"
OnPageSizeChanged
=
"RadGrid_IDPicker_PageSizeChanged"
Width
=
"1500px"
Visible
=
"false"
OnItemDataBound
=
"RadGrid_IDPicker_DataBound"
>
<
MasterTableView
RetrieveAllDataFields
=
"true"
AutoGenerateColumns
=
"false"
DataKeyNames
=
"ID"
>
<
Columns
>
<
telerik:GridTemplateColumn
UniqueName
=
"TemplateLinkColumn"
AllowFiltering
=
"false"
HeaderText
=
"ID"
>
<
ItemTemplate
>
<
asp:LinkButton
ID
=
"ID_Link"
runat
=
"server"
OnClick
=
"MCLID_Link_Click"
Text='<%#Bind("ID") %>' CommandName="Bold"></
asp:LinkButton
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"TAG"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lbltag"
runat
=
"server"
Text='<%#Bind("TAG") %>'></
asp:Label
>
</
ItemTemplate
>
</
Columns
>
</
MasterTableView
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
/>
</
telerik:RadGrid
>
<
telerik:RadPanelBar
ID
=
"RadPanelBar1"
runat
=
"server"
Width
=
"1500px"
BackColor
=
"#E6E6E6"
ExpandMode
=
"MultipleExpandedItems"
>
<
Items
>
<
telerik:RadPanelItem
runat
=
"server"
Text
=
"ID Picker"
Expanded
=
"true"
>
<
Items
>
<
telerik:RadPanelItem
Text
=
""
Expanded
=
"true"
>
<
ItemTemplate
>
//radgrid is right here
<telerik:RadFilter
ID="rfCustomFilter" runat="server"FilterContainerID="RadGrid1"/>
and i have also tried to assign filterContainerID in code behind as such:
rfCustomFilter.FilterContainerID = "RadGrid1";
both did not work, and i get an error when Adding an expression:
Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index