Hey guys, I'm having a problem with a telerik grid causing a full page postback and not showing the grid after the postback. Here's the window definition with the ajax in the .aspx.
And here is the grid in the same .aspx file.
And last here's the C# code for the initialization of the grid, this is called from the page load method.
I've also added two screen shot attachments, one before the filter and one after the filter.
Thanks for your time!
David
<
body
style
=
"padding: 0px; margin: 0px auto; width: 750px; height: 530px; background-color: #FFFFFF;"
><
br
><
form
id
=
"form2"
runat
=
"server"
><
br
><
br
> <
telerik:RadScriptManager
ID
=
"ScriptManager1"
runat
=
"server"
><
br
> </
telerik:RadScriptManager
><
br
><
br
> <
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
><
br
> <
AjaxSettings
><
br
> <
telerik:AjaxSetting
AjaxControlID
=
"pgSingleInvitation"
><
br
> <
UpdatedControls
><
br
> <
telerik:AjaxUpdatedControl
ControlID
=
"tabsAddSingleUser"
/><
br
> <
telerik:AjaxUpdatedControl
ControlID
=
"multiPageAddSingleUser"
LoadingPanelID
=
"RadAjaxLoadingPanel2"
/><
br
> </
UpdatedControls
><
br
> </
telerik:AjaxSetting
><
br
> <
telerik:AjaxSetting
AjaxControlID
=
"pgReInvitation"
><
br
> <
UpdatedControls
><
br
> <
telerik:AjaxUpdatedControl
ControlID
=
"tabsAddSingleUser"
/><
br
> <
telerik:AjaxUpdatedControl
ControlID
=
"multiPageAddSingleUser"
LoadingPanelID
=
"RadAjaxLoadingPanel2"
/><
br
> </
UpdatedControls
><
br
> </
telerik:AjaxSetting
><
br
> <
telerik:AjaxSetting
AjaxControlID
=
"ajaxRadGrid2"
><
br
> <
UpdatedControls
><
br
> <
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid2"
LoadingPanelID
=
"RadAjaxLoadingPanel2"
/><
br
> </
UpdatedControls
><
br
> </
telerik:AjaxSetting
><
br
> </
AjaxSettings
><
br
> </
telerik:RadAjaxManager
><
br
><
br
> <
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel2"
runat
=
"server"
Skin
=
"Windows7"
/><
br
><
br
> <
script
type
=
"text/javascript"
><
br
> function CloseAndRebind() {<
br
> GetRadWindow().BrowserWindow.refreshGrid();<
br
> GetRadWindow().close();<
br
> }<
br
> function CloseAndError() {<
br
> GetRadWindow().BrowserWindow.location.reload();<
br
> GetRadWindow().close();<
br
> }<
br
> </
script
><
br
><
br
> <
telerik:RadSkinManager
runat
=
"server"
ID
=
"SkinManager2"
Skin
=
"Default"
><
br
> </
telerik:RadSkinManager
><
br
><
br
> <
div
style
=
"margin: 0 auto; padding: 20px 0 0 30px; overflow:auto; height: auto"
><
br
>
<!-- Single Invite and Re-Invite Tab -->
<
br
> <
telerik:RadTabStrip
runat
=
"server"
ID
=
"tabsAddSingleUser"
MultiPageID
=
"multiPageAddSingleUser"
<br> SelectedIndex="0" CausesValidation="false" ><
br
> <
Tabs
><
br
> <
telerik:RadTab
PageViewID
=
"pgSingleInvitation"
Text
=
"Single Invite"
Width
=
"120px"
/><
br
> <
telerik:RadTab
PageViewID
=
"pgReInvite"
Text
=
"Re-Invite"
Width
=
"120px"
/><
br
> </
Tabs
> <
br
> </
telerik:RadTabStrip
><
br
> <
div
/>
And here is the grid in the same .aspx file.
<
telerik:RadPageView
runat
=
"server"
ID
=
"pgReInvite"
><
br
> <
div
class
=
"pageContent2"
><
br
> <
div
class
=
"home_class_main_box_2"
><
br
><
br
> <
telerik:RadGrid
ID
=
"RadGrid2"
runat
=
"server"
Width
=
"673px"
Height
=
"1050px"
AllowPaging
=
"True"
AllowSorting
=
"True"
<br> OnPageIndexChanged="grid_PageIndexChanged" AllowMultiRowSelection="true"<
br
> AutoGenerateColumns="False" GroupingEnabled="False" PageSize="25" AllowFilteringByColumn="true"<
br
> EnableLinqExpressions="false" EnableAJAX="True"><
br
> <
GroupingSettings
CaseSensitive
=
"false"
/><
br
> <
MasterTableView
AutoGenerateColumns
=
"false"
AllowFilteringByColumn
=
"True"
><
br
> <
Columns
><
br
> <
telerik:GridClientSelectColumn
UniqueName
=
"ClientSelectColumn"
HeaderStyle-Width
=
"30px"
/><
br
><
br
><
br
> <
telerik:GridTemplateColumn
FilterControlWidth
=
"50px"
HeaderText
=
"First Name"
AutoPostBackOnFilter
=
"false"
CurrentFilterFunction
=
"Contains"
<br> DataField="first_name" HeaderStyle-HorizontalAlign="Left" SortExpression="first_name" HeaderStyle-Width="120px"><
br
> <
ItemTemplate
><
br
> <
div
style
=
"padding: 7px 0"
><
br
> <
asp:Label
runat
=
"server"
ID
=
"lblStudentId"
Text='<%#DataBinder.Eval(Container.DataItem, "student_class_id")%>'<
br
> Visible="false" /><
br
> <
asp:HyperLink
ID
=
"hyperName"
runat
=
"server"
Text='<%#DataBinder.Eval(Container.DataItem, "first_name")%>' /><
br
> <
telerik:RadToolTip
ID
=
"RadToolTip_Fname"
runat
=
"server"
Animation
=
"Fade"
EnableShadow
=
"False"
<br> Position="BottomRight" RenderInPageRoot="true" TargetControlID="hyperName"><
br
> <
asp:Label
ID
=
"lblTollTip1"
runat
=
"server"
Text='<%# Eval("first_name") %>' /><
br
> </
telerik:RadToolTip
><
br
> </
div
><
br
> </
ItemTemplate
><
br
> <
HeaderStyle
HorizontalAlign
=
"Left"
/><
br
> </
telerik:GridTemplateColumn
><
br
><
br
><
br
> <
telerik:GridTemplateColumn
FilterControlWidth
=
"50px"
HeaderText
=
"Last Name"
AutoPostBackOnFilter
=
"true"
CurrentFilterFunction
=
"Contains"
FilterDelay
=
"5000"
<br> DataField="last_name" HeaderStyle-HorizontalAlign="Left" SortExpression="last_name" HeaderStyle-Width="120px"><
br
> <
ItemTemplate
><
br
> <
asp:Label
ID
=
"lblLastName"
runat
=
"server"
Text='<%# DataBinder.Eval(Container.DataItem,"last_name") %>'></
asp:Label
><
br
> <
telerik:RadToolTip
ID
=
"RadToolTip_Lname"
runat
=
"server"
Animation
=
"Fade"
EnableShadow
=
"False"
<br> Position="BottomRight" RenderInPageRoot="true" TargetControlID="lblLastName"><
br
> <
asp:Label
ID
=
"lblTollTip2"
runat
=
"server"
Text='<%# Eval("last_name") %>' /><
br
> </
telerik:RadToolTip
><
br
> </
ItemTemplate
><
br
> <
HeaderStyle
HorizontalAlign
=
"Left"
/><
br
> </
telerik:GridTemplateColumn
><
br
><
br
><
br
> <
telerik:GridTemplateColumn
FilterControlWidth
=
"50px"
HeaderText
=
"Student ID"
HeaderStyle-Width
=
"100px"
<br> DataField="uniqueId" HeaderStyle-HorizontalAlign="Left" SortExpression="uniqueId"><
br
> <
ItemTemplate
><
br
> <
asp:Label
ID
=
"lblUniqueName"
runat
=
"server"
Text='<%# DataBinder.Eval(Container.DataItem,"uniqueId") %>'></
asp:Label
><
br
> <
telerik:RadToolTip
ID
=
"RadToolTip_unique"
runat
=
"server"
Animation
=
"Fade"
EnableShadow
=
"False"
<br> Position="BottomRight" RenderInPageRoot="true" TargetControlID="lblUniqueName"><
br
> <
asp:Label
ID
=
"lblTollTip4"
runat
=
"server"
Text='<%# Eval("uniqueId") %>' /><
br
> </
telerik:RadToolTip
><
br
> </
ItemTemplate
><
br
> <
HeaderStyle
HorizontalAlign
=
"Left"
/><
br
> </
telerik:GridTemplateColumn
><
br
><
br
><
br
> <
telerik:GridTemplateColumn
FilterControlWidth
=
"90px"
HeaderText
=
"E-Mail"
HeaderStyle-Width
=
"170px"
<br> DataField="student_email" HeaderStyle-HorizontalAlign="Left" SortExpression="student_email"><
br
> <
ItemTemplate
><
br
> <
asp:Label
runat
=
"server"
ID
=
"lblStudentEMail"
Text='<%#DataBinder.Eval(Container.DataItem, "student_email")%>'><
br
> </
asp:Label
><
br
> <
telerik:RadToolTip
ID
=
"RadToolTip_Email"
runat
=
"server"
Animation
=
"Fade"
EnableShadow
=
"False"
<br> Position="BottomRight" RenderInPageRoot="true" TargetControlID="lblStudentEMail"><
br
> <
asp:Label
ID
=
"lblTollTip5"
runat
=
"server"
Text='<%# Eval("student_email") %>' /><
br
> </
telerik:RadToolTip
><
br
> </
ItemTemplate
><
br
> <
HeaderStyle
HorizontalAlign
=
"Left"
/><
br
> </
telerik:GridTemplateColumn
><
br
><
br
><
br
> <
telerik:GridTemplateColumn
FilterControlWidth
=
"50px"
HeaderText
=
"Status"
HeaderStyle-Width
=
"90px"
<br> DataField="status" HeaderStyle-HorizontalAlign="right" SortExpression="status"><
br
> <
ItemTemplate
> <
br
> <
asp:Label
ID
=
"lblStatusText"
runat
=
"server"
Text='<%# DataBinder.Eval(Container.DataItem,"status") %>' /><
br
> <
telerik:RadToolTip
ID
=
"RadToolTip_Status"
runat
=
"server"
Animation
=
"Fade"
EnableShadow
=
"False"
<br> Position="BottomRight" RenderInPageRoot="true" TargetControlID="lblStatusText"><
br
> <
asp:Label
ID
=
"lblTollTip3"
runat
=
"server"
Text='<%# Eval("status") %>' /><
br
> </
telerik:RadToolTip
><
br
> </
ItemTemplate
><
br
> <
HeaderStyle
HorizontalAlign
=
"Left"
/><
br
> </
telerik:GridTemplateColumn
><
br
> </
Columns
><
br
><
br
><
br
> <
RowIndicatorColumn
><
br
> <
HeaderStyle
Width
=
"20px"
/><
br
> </
RowIndicatorColumn
><
br
> <
ExpandCollapseColumn
><
br
> <
HeaderStyle
Width
=
"20px"
/><
br
> </
ExpandCollapseColumn
><
br
><
br
><
br
> <
PagerStyle
Mode
=
"NextPrevAndNumeric"
Position
=
"Bottom"
AlwaysVisible
=
"True"
/><
br
> </
MasterTableView
><
br
><
br
><
br
> <
ClientSettings
EnableRowHoverStyle
=
"true"
><
br
> <
Scrolling
AllowScroll
=
"true"
UseStaticHeaders
=
"true"
SaveScrollPosition
=
"true"
/><
br
> <
Selecting
AllowRowSelect
=
"True"
/><
br
> </
ClientSettings
><
br
> </
telerik:RadGrid
><
br
><
br
><
br
> </
div
><
br
> </
div
><
br
><
br
> <
div
style
=
"text-align: center; width:220px; float:left; Margin: 15px 0 10px 220px;"
><
br
> <
asp:Button
id
=
"btnSend"
runat
=
"server"
CausesValidation
=
"false"
Text
=
"Send"
CssClass
=
"input_login_bt"
OnClick
=
"btnSendMail_Click"
/><
br
> </
div
><
br
><
br
><
br
> </
telerik:RadPageView
> <
br
> </
telerik:RadMultiPage
>
And last here's the C# code for the initialization of the grid, this is called from the page load method.
private
void
getStudentsData(
int
type) {
string
sortExpression = (
string
)ViewState[
"sortExpression"
];
string
sortDirection = (
string
)ViewState[
"sortDirection"
];
if
(type == 5) { IsReady =
true
; }
else
{ IsReady =
false
; }
try
{
string
sql =
"Select b.student_class_id, a.student_id, a.first_name as first_name, a.last_name as last_name,a.nickname as nick_name,a.username as uniqueId, "
; sql +=
"a.student_email,b.remoteid, case b.status WHEN "
+ VConstants.STUDENT_STATUS_REGISTERED +
" then 'Active' WHEN "
+ VConstants.STUDENT_STATUS_INVITED +
" "
; sql +=
"then 'Invited' WHEN "
+ VConstants.STUDENT_STATUS_DELETED +
" THEN 'Deleted' WHEN "
+ VConstants.STUDENT_STATUS_READY +
"THEN 'Ready' WHEN "
+ VConstants.STUDENT_STATUS_BLOCKED +
" then 'Inactive' WHEN "
+ VConstants.STUDENT_STATUS_PENDING +
" THEN 'Pending' end as status "
; sql +=
"from student a, student_class b "
; sql +=
"where a.student_id = b.student_id "
; sql +=
"and (b.status = "
+ VConstants.STUDENT_STATUS_INVITED +
" or b.status = "
+ VConstants.STUDENT_STATUS_READY +
") "
; sql +=
"and b.class_id="
+ currentClass.class_id +
""
; sql +=
" ORDER BY A.student_id desc "
; DataTable dt = dbUtility.getDataTable(sql); DataView dv =
new
DataView(); dv = dt.DefaultView;
if
(!
string
.IsNullOrEmpty(sortExpression)) { dv.Sort = sortExpression +
" "
+ sortDirection; } RadGrid2.DataSource = dv; RadGrid2.DataBind(); }
catch
(Exception ex) { Utils.PreserveStackTrace(ex); } }
I've also added two screen shot attachments, one before the filter and one after the filter.
Thanks for your time!
David