Hi
I am using RadGrid With Paging(Mode:NextPrevAndNumeric).
Issue:-
The Problem is when i change the Page Size From the dropdown Let's say 2 to 10. then there is no record Display even the Grid has 5 records.
This Problems has Come after I implemented the "expand/collapse images when no records" in the grid followed your tetelrik article.
If I do the, Hieararchy Load Mode="Server" or remove "expand/collapse images when no records" behaviour then it's works fine.
But I need Both feature..
I also Attached the Code and Images
<
telerik:RadGrid
AutoGenerateColumns
=
"False"
ID
=
"rgSurvey"
AllowPaging
=
"True"
AllowSorting
=
"True"
AllowCustomPaging
=
"True"
AllowAutomaticInserts
=
"false"
AllowAutomaticUpdates
=
"false"
AllowAutomaticDeletes
=
"true"
OnItemCommand
=
"rgSurvey_ItemCommand"
OnSortCommand
=
"rgSurvey_SortCommand"
OnNeedDataSource
=
"rgSurvey_NeedDataSource"
runat
=
"server"
Skin
=
"Office2007"
PageSize
=
"20"
ShowGroupPanel
=
"false"
ClientSettings-AllowDragToGroup
=
"true"
ClientSettings-AlowExpandCollapse
=
"true"
OnDetailTableDataBind
=
"rgSurvey_DetailTableDataBind"
DataMember
=
"SurveyTemplateID"
OnItemDataBound
=
"rgSurvey_ItemDataBound"
OnPreRender
=
"rgSurvey_PreRender"
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
/>
<
MasterTableView
TableLayout
=
"Fixed"
DataKeyNames
=
"SurveyTemplateID"
HierarchyDefaultExpanded
=
"false"
CommandItemDisplay
=
"None"
CommandItemSettings-AddNewRecordText
=
"Add New User"
HierarchyLoadMode
=
"Client"
>
<
DetailTables
>
<
telerik:GridTableView
AllowPaging
=
"false"
AllowSorting
=
"false"
>
<
Columns
>
<
telerik:GridTemplateColumn
UniqueName
=
"LockUnlock"
HeaderText
=
""
HeaderStyle-Width
=
"70"
ItemStyle-HorizontalAlign
=
"Center"
ItemStyle-Width
=
"70"
>
<
itemtemplate
>
<
asp:ImageButton
ID
=
"Image1"
runat
=
"server"
OnClientClick
=
"return checkuserlock(this);"
CommandName
=
"UnlockSurvey"
/> <
br
/>
<
asp:Label
ID
=
"lblLockUserName"
runat
=
"server"
Text='<%# Eval("LockUserName") %>' />
<
asp:Label
ID
=
"lblInnerLockUserId"
runat
=
"server"
Text='<%# Eval("LockUserID") %>' style="display:none;"></
asp:Label
>
</
itemtemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Version"
DataField
=
"SurveyVersion"
HeaderStyle-Width
=
"40"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"ID"
DataField
=
"SurveyTemplateID"
UniqueName
=
"SurveyTemplateID"
SortExpression
=
"SurveyTemplateID"
HeaderStyle-Width
=
"40"
/>
<
telerik:GridButtonColumn
HeaderText
=
"Title"
DataTextField
=
"SurveyName"
UniqueName
=
"SurveyName"
ItemStyle-Font-Bold
=
"false"
SortExpression
=
"SurveyName"
CommandName
=
"editcontent"
/>
<
telerik:GridBoundColumn
HeaderText
=
"Created By"
DataField
=
"UserNAME"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Last Updated By"
DataField
=
"LastUpdatedUser"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Approved By"
DataField
=
"ApprovedBy"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Active Date"
DataField
=
"ActiveDate"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Termination Date"
DataField
=
"TerminationDate"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Approval Status"
DataField
=
"ApprovalStatus"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
""
DataField
=
"LockUserID"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
telerik:GridTableView
>
</
DetailTables
>
<
Columns
>
<
telerik:GridTemplateColumn
UniqueName
=
"LockUnlock"
HeaderText
=
""
HeaderStyle-Width
=
"70"
ItemStyle-HorizontalAlign
=
"Center"
ItemStyle-Width
=
"70"
>
<
ItemTemplate
>
<
asp:ImageButton
ID
=
"Image1"
runat
=
"server"
OnClientClick
=
"return checkuserlock(this);"
CommandName
=
"UnlockSurvey"
/><
br
/>
<
asp:Label
ID
=
"lblLockUserName"
runat
=
"server"
Text='<%# Eval("LockUserName") %>' />
<
asp:Label
ID
=
"lblLockUserId"
runat
=
"server"
Text='<%# Eval("LockUserID") %>' style="display:none;"></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Version"
DataField
=
"SurveyVersion"
HeaderStyle-Width
=
"40"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"ID"
DataField
=
"SurveyTemplateID"
UniqueName
=
"SurveyTemplateID"
SortExpression
=
"SurveyTemplateID"
HeaderStyle-Width
=
"40"
/>
<
telerik:GridButtonColumn
HeaderText
=
"Title"
DataTextField
=
"SurveyName"
UniqueName
=
"SurveyName"
ItemStyle-Font-Bold
=
"true"
ItemStyle-ForeColor
=
"Red"
SortExpression
=
"SurveyName"
CommandName
=
"editcontent"
/>
<
telerik:GridBoundColumn
HeaderText
=
"Created By"
DataField
=
"UserNAME"
SortExpression
=
"UserNAME"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Last Updated By"
DataField
=
"LastUpdatedUser"
SortExpression
=
"LastUpdatedUser"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Approved By"
DataField
=
"ApprovedBy"
SortExpression
=
"ApprovedBy"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Active Date"
DataField
=
"ActiveDate"
SortExpression
=
"ActiveDate"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Termination Date"
DataField
=
"TerminationDate"
SortExpression
=
"TerminationDate"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Approval Status"
DataField
=
"ApprovalStatus"
SortExpression
=
"ApprovalStatus"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
""
DataField
=
"LockUserID"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (!Page.IsPostBack)
{
this.rgSurvey.PageSize = 2;
}
}
protected void rgSurvey_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
if (!e.IsFromDetailTable)
{
SetSurveyContentGridDataSource();
}
}
private void SetSurveyContentGridDataSource()
{
int totalRecord = 0;
this.rgSurvey.DataSource = GetSearchBySurvey(ref totalRecord);
this.rgSurvey.VirtualItemCount = totalRecord;
}
private List<
GetSearchSurveyResult_Result
> GetSearchBySurvey(ref int totalRecord)
{
string approvalstatus = string.Empty;
SurveyQuestionBL oSurveyCategory = new SurveyQuestionBL();
int pageSize = this.rgSurvey.PageSize;
string sortExpression = GetSortedColumnName("SURVEY");
string sortDirection = GetSortedDirection("SURVEY");
foreach (ListItem li in cbApprovalStatus.Items)
{
if (li.Selected == true)
{
approvalstatus += li.Value + ",";
}
}
GetSearchSurveyResult_Result obj = new GetSearchSurveyResult_Result
{
SurveyTemplateID = txtSurveyID.Text.Length > 0 ? Convert.ToInt32(txtSurveyID.Text) : 0,
SurveyName = txtSurveyTitle.Text,
SurveyScopeID = Convert.ToInt32(rblScope.SelectedValue),
ApprovalStatusID = approvalstatus,
ClientID = Convert.ToInt32(rblScope.SelectedValue) ==(int) Scope.ClientSpecific ? (int?)Convert.ToInt32(ddlClientList.SelectedValue) : null
};
//int pageSize = this.rgSurvey.PageSize;
var list = oSurveyCategory.GetAllSurveyResult(pageSize, obj, rgSurvey.CurrentPageIndex, ref totalRecord, sortExpression, sortDirection);
oSurveyCategory = null;
return list;
}
protected void rgSurvey_DetailTableDataBind(object source, Telerik.Web.UI.GridDetailTableDataBindEventArgs e)
{
SurveyQuestionBL oReportingCategory = new SurveyQuestionBL();
// int record;
GridDataItem parentItem = e.DetailTableView.ParentItem as GridDataItem;
string surveyTemplateID = parentItem.GetDataKeyValue("SurveyTemplateID").ToString();
this.rgSurvey.DataSource = oReportingCategory.GetNestedSurveyById(Convert.ToInt32(surveyTemplateID));
//this.rgSurvey.AllowPaging = false;
}
protected void rgSurvey_PreRender(object sender, EventArgs e)
{
HideExpandColumnRecursive(rgSurvey.MasterTableView);
}
public void HideExpandColumnRecursive(GridTableView tableView)
{
GridItem[] nestedViewItems = tableView.GetItems(GridItemType.NestedView);
foreach (GridNestedViewItem nestedViewItem in nestedViewItems)
{
foreach (GridTableView nestedView in nestedViewItem.NestedTableViews)
{
if (nestedView.Items.Count == 0)
{
TableCell cell = nestedView.ParentItem["ExpandColumn"];
cell.Controls[0].Visible = false;
nestedViewItem.Visible = false;
}
if (nestedView.HasDetailTables)
{
HideExpandColumnRecursive(nestedView);
}
}
}
}
protected void rgSurvey_SortCommand(object source, GridSortCommandEventArgs e)
{
// if (rblSearchType.SelectedValue == "1")
//{
SetSortedColumnName("SURVEY", e.CommandArgument.ToString());
SetSortedDirection("SURVEY", e.NewSortOrder.ToString());
BindContentSurveyGrid();
}
protected void rgSurvey_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
{
Int32 SurveyId, dbResult;
int LockUserID, Edit;
SurveyQuestionBL oReportingCategory;
if (e.CommandName == "editcontent")
{
oReportingCategory = new SurveyQuestionBL();
GridDataItem item = (GridDataItem)e.Item;
SurveyId = Convert.ToInt32(item["SurveyTemplateID"].Text);
LockUserID = Convert.ToInt32(item["LockUserID"].Text);
if (LockUserID == 0 || LockUserID == base.UserID)
{
dbResult = oReportingCategory.InsertSurveyForLockUnlock(base.UserID, SurveyId);
Edit = 1;
}
else
{
Edit = 2;
}
Response.Redirect("~/Survey/AddSurvey.aspx?SID=" + SurveyId + "&Edit=" + Edit, true);
}
else if (e.CommandName == "UnlockSurvey")
{
oReportingCategory = new SurveyQuestionBL();
GridDataItem item = (GridDataItem)e.Item;
SurveyId = Convert.ToInt32(item["SurveyTemplateID"].Text);
dbResult = oReportingCategory.InsertSurveyForLockUnlock(null, SurveyId);
rgSurvey.Rebind();
}
else if (e.CommandName == "ChangePageSize")
{
rgSurvey.PageSize = ((Telerik.Web.UI.GridPageSizeChangedEventArgs)(e)).NewPageSize;
rgSurvey.Rebind();
}
}
Please Provide The Solution ASAP.
Thanks & Regards
Ashish