I have a grid that binds using the clientside method - I want to have the LoadingPanel display but can't seem to get it working - any help is appreciated:
and JavaScript:
<
telerik:RadAjaxManager
id
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGrid1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
<
ClientEvents
OnRequestStart
=
"RequestStart"
OnResponseEnd
=
"ResponseEnd"
/>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Skin
=
"Default"
>
</
telerik:RadAjaxLoadingPanel
>
<
asp:Panel
ID
=
"Panel1"
runat
=
"server"
>
<
div
id
=
"dashtabs-comments"
class
=
"box-content no-padding"
>
<
telerik:Radgrid
id
=
"RadGrid1"
runat
=
"server"
allowmultirowselection
=
"False"
allowpaging
=
"True"
allowsorting
=
"True"
gridlines
=
"None"
pagesize
=
"25"
showstatusbar
=
"True"
autogeneratecolumns
=
"False"
CellSpacing
=
"0"
>
<
ClientSettings
>
<
DataBinding
Location
=
"manageUsers.aspx"
SelectMethod
=
"GetDataAndCount"
/>
<
ClientEvents
OnGridCreated
=
"AddAllFilterExpressions"
OnDataBinding
=
"RadGrid1_DataBinding"
OnRowDataBound
=
"OnGridRowDataBound"
/>
</
ClientSettings
>
<
HeaderContextMenu
EnableTheming
=
"True"
>
<
CollapseAnimation
Duration
=
"200"
Type
=
"OutQuint"
/>
</
HeaderContextMenu
>
<
MasterTableView
ClientDataKeyNames
=
"UserId"
TableLayout
=
"Fixed"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"FirstName"
UniqueName
=
"FirstName"
HeaderText
=
"First Name"
HeaderStyle-Width
=
"15%"
/>
<
telerik:GridBoundColumn
DataField
=
"LastName"
UniqueName
=
"LastName"
HeaderText
=
"Last Name"
HeaderStyle-Width
=
"15%"
/>
<
telerik:GridBoundColumn
DataField
=
"Email"
UniqueName
=
"Email"
HeaderText
=
"Email"
HeaderStyle-Width
=
"15%"
/>
<
telerik:GridBoundColumn
DataField
=
"PhoneNumber"
UniqueName
=
"PhoneNumber"
HeaderText
=
"Phone"
HeaderStyle-Width
=
"10%"
/>
</
Columns
>
<
RowIndicatorColumn
>
<
HeaderStyle
Width
=
"20px"
/>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
>
<
HeaderStyle
Width
=
"20px"
/>
</
ExpandCollapseColumn
>
<
EditFormSettings
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
></
EditColumn
>
</
EditFormSettings
>
</
MasterTableView
>
<
ClientSettings
>
<
Selecting
AllowRowSelect
=
"True"
/>
</
ClientSettings
>
<
FilterMenu
EnableTheming
=
"True"
>
<
CollapseAnimation
Duration
=
"200"
Type
=
"OutQuint"
/>
</
FilterMenu
>
<
PagerStyle
Mode
=
"NextPrevNumericAndAdvanced"
/>
</
telerik:Radgrid
>
</
div
>
</
asp:Panel
>
and JavaScript:
<script type=
"text/javascript"
>
function
RadGrid1_DataBinding(sender, args) {
// get data source location, method name and arguments
var
dataSourceLocation = args.get_location();
var
selectMethodName = args.get_methodName();
var
methodArguments = args.get_methodArguments();
// set data source location and method name
args.set_location(dataSourceLocation);
args.set_methodName(selectMethodName);
var
startRowIndexParameterName = sender.ClientSettings.DataBinding.StartRowIndexParameterName;
var
maximumRowsParameterName = sender.ClientSettings.DataBinding.MaximumRowsParameterName;
var
sortParameterName = sender.ClientSettings.DataBinding.SortParameterName;
var
filterParameterName = sender.ClientSettings.DataBinding.FilterParameterName;
}
function
AddFilter(name, value) {
var
grid = $find(
"<%= RadGrid1.ClientID %>"
);
var
filterExpression =
new
Telerik.Web.UI.GridFilterExpression();
var
column = grid.get_masterTableView().getColumnByUniqueName(
"linkColumn"
);
var
filterFunction = Telerik.Web.UI.GridFilterFunction.Contains;
column.set_filterFunction(filterFunction);
filterExpression.set_fieldName(name);
filterExpression.set_fieldValue(value);
filterExpression.set_filterFunction(filterFunction);
filterExpression.set_columnUniqueName(
"name"
);
grid.get_masterTableView()._updateFilterControlValue(value,
"name"
, filterFunction);
grid.get_masterTableView()._filterExpressions.add(filterExpression);
}
function
AddAllFilterExpressions(sender, args) {
AddFilter(
"aname"
, document.getElementById(
'<%= tAccountName.ClientID %>'
).value);
AddFilter(
"fname"
, document.getElementById(
'<%= tFirstName.ClientID %>'
).value);
AddFilter(
"lname"
, document.getElementById(
'<%= tLastName.ClientID %>'
).value);
AddFilter(
"email"
, document.getElementById(
'<%= tEmail.ClientID %>'
).value);
AddFilter(
"uname"
, document.getElementById(
'<%= tUserName.ClientID %>'
).value);
}
var
currentLoadingPanel =
null
;
var
currentUpdatedControl =
"<%= Panel1.ClientID %>"
;
function
RequestStart(sender, args) {
currentLoadingPanel = $find(
"<%= RadAjaxLoadingPanel1.ClientID %>"
);
//show the loading panel over the updated control
currentLoadingPanel.show(currentUpdatedControl);
}
function
ResponseEnd() {
//hide the loading panel and clean up the global variables
if
(currentLoadingPanel !=
null
)
currentLoadingPanel.hide(currentUpdatedControl);
currentUpdatedControl =
null
;
currentLoadingPanel =
null
;
}
</script>