Click here to Skip to main content
15,895,841 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello, i have a problem with GridView Paging.
Here is my code:
ASP.NET
<asp:GridView ID="grdGroupAsManager" runat="server" AutoGenerateColumns="false" ShowHeader="true" EmptyDataText="Empty" 
	 RowStyle-HorizontalAlign="Left" 
    AllowPaging ="true" PageSize="10" DataKeyNames="RelatedItemTitle" Width="800px" OnPageIndexChanging="grdGroupAsManager_SelectedIndexChanging">
    <Columns>
here is templates
</Columns>
</asp:GridView>

C#
protected void grdGroupAsManager_SelectedIndexChanging(object sender, GridViewPageEventArgs e)
       {
           GridView gvTasksAsManager = (sender as GridView);
           gvTasksAsManager.PageIndex = e.NewPageIndex;
           InitTasksForMeAsManager(gvTasksAsManager);
       }
       protected void InitTasksForMeAsManager(GridView grdGroupAsManager)
       {
           SPSite site = SPContext.Current.Site;
           SPWeb edms = SPContext.Current.Web;
           SPUser user = SPContext.Current.Web.CurrentUser;
           SPListItem employee = GetSPUserEmployee(SPContext.Current, user);
           string employeeID = (employee != null) ? employee.ID.ToString() : "0";
           SPList negotiationTasks = edms.GetList(SPUrlUtility.CombineUrl(edms.Url, "Lists/ContractNegotiationTasks"));
           SPListItemCollection tasks = GetNonCompletedUserTasks(negotiationTasks, "Manager", employeeID.ToString());
           DataTable firstresult = ProcessTasksLinks(tasks, edms, negotiationTasks);
           DataTable ex = firstresult.Copy();
           DataTable result = RemoveDuplicateRows(ex, "RelatedItemTitle");
           ViewState["TasksAsManager"] = firstresult;
           grdGroupAsManager.DataSource = result;
           grdGroupAsManager.DataBind();
       }
protected void Page_Load(object sender, EventArgs e)
       {
           try
           {
               if (!Page.IsPostBack)
               {
                   grdGroupTasks.PagerTemplate = grdGroupAsManager.PagerTemplate = null;
                   InitTasksForMeAsManager(grdGroupAsManager);
                   BindGroupTasks(grdGroupTasks);
               }
           }
           catch (Exception ex)
           {
               SPDiagnosticsService.Local.WriteTrace(0, new SPDiagnosticsCategory(
                   "55EDMS", TraceSeverity.Unexpected, EventSeverity.Error), TraceSeverity.Unexpected, ex.Message, ex.StackTrace);
           }
       }

When i click to next page index, for example was first page, and i click to second page.
Gridview proceeds to second page, but i cannot see row with Page Indexes..
When i delete if (!Page.IsPostBack) from Page_Load, all Works Fine, but i don't need bind gridview on every postBack, what i do wrong?HELP PLEASE
Posted

 
Share this answer
 
Comments
Alexrf 8-Apr-14 3:46am    
hi,
But i want, that gridView does'not binding at every PostBack!
use below code in page index changing:

protected void grvDetails_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
grvDetails.PageIndex = e.NewPageIndex;
bindGrid();
}
 
Share this answer
 
Comments
Alexrf 8-Apr-14 4:01am    
Don't resolve my problem..
Page Indexes appear only if delete !IsPostBack
 
Share this answer
 
grdGroupTasks.PagerTemplate = grdGroupAsManager.PagerTemplate = null;
not in !IsPostBack and all works fine
thx
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900