HI,
 
ive got the following repeater but how can i add paginanion like google because the old one isn't woking properly. 
 
- <div class="content last">  
-     <asp:Repeater ID="rptUsers" runat="server">  
-         <HeaderTemplate>  
-             <table style="width: 100%;">  
-                 <thead>  
-                     <tr>  
-                         <th class="column-xxxl">  
-                             <asp:LinkButton ID="sortNameLink" CssClass='<%# GetSortArrowCssClass(KeyConstants.UserNameColumn) %>' runat="server" OnClick="SortColumn_Click">Naam</asp:LinkButton>  
-                         </th>  
-                         <th class="column-xl">  
-                             <asp:LinkButton ID="sortPhoneNumberLink" CssClass='<%# GetSortArrowCssClass(KeyConstants.UserPhoneNumberColumn) %>' runat="server" OnClick="SortColumn_Click">Telefoonnummer</asp:LinkButton>  
-                         </th>  
-                         <th class="column-l">  
-                             <asp:LinkButton ID="sortInternalNumberLink" CssClass='<%# GetSortArrowCssClass(KeyConstants.UserInternalNumberColumn) %>' runat="server" OnClick="SortColumn_Click">Intern Nummer</asp:LinkButton>  
-                         </th>  
-                         <%  if (Features.Locations)  
-                             {  
-                         %>  
-                         <th class="column-l">  
-                             <asp:LinkButton ID="sortLocationLink" CssClass='<%# GetSortArrowCssClass(KeyConstants.UserLocationColumn) %>' runat="server" OnClick="SortColumn_Click">Afdeling</asp:LinkButton>  
-                         </th>  
-                         <% } %>  
-                         <th class="column-xxxl">  
-                             <asp:LinkButton ID="sortEmailLink" CssClass='<%# GetSortArrowCssClass(KeyConstants.UserEmailColumn) %>' runat="server" OnClick="SortColumn_Click">Email</asp:LinkButton>  
-                         </th>  
-                         <th class="column-s" style="text-align: center;">  
-                             <asp:LinkButton ID="sortQueueLink" CssClass='<%# GetSortArrowCssClass(KeyConstants.UserQueueColumn) %>' runat="server" OnClick="SortColumn_Click">Wachtrij</asp:LinkButton>  
-                         </th>  
-                         <% if (Features != null && Features.DeleteUsers)  
-                             { %>  
-                         <th class="column-xxs" style="text-align: center;">   
-                         </th>  
-                         <% } %>  
-                     </tr>  
-                 </thead>  
-         </HeaderTemplate>  
-         <ItemTemplate>  
-             <tr>  
-                 <td>  
-                     <asp:HyperLink ID="phoneManagementHyperLink" runat="server" Text='<%# (Container.DataItem as WcfUser).firstName + " " + (Container.DataItem as WcfUser).lastName%>'  
-                         NavigateUrl='<%#PortalApplication.GetUrl(PortalApplication.GetCommandByName(ApplicationCommands.UserEdit).Url)+string.Format("?userId={0}", (Container.DataItem as WcfUser).userId)%>' />  
-                 </td>  
-                 <td>  
-                     <%# (Container.DataItem as WcfUser).phoneNumber%>  
-                 </td>  
-                 <td>  
-                     <%# (Container.DataItem as WcfUser).extension%>  
-                 </td>  
-                 <% if (Features != null && Features.Locations)  
-                     {  
-                 %>  
-                 <td>  
-                     <%# (Container.DataItem as WcfUser).departmentFullPath%>  
-                 </td>  
-                 <%   }  %>  
-                 <td>  
-                     <%# (Container.DataItem as WcfUser).emailAddress%>  
-                 </td>  
-                 <td>  
-                     <div class='icon-16 active read-only check' style='<%# (Container.DataItem as WcfUser).hasCallQueueService ? "margin: 0 auto;": "display:none;" %>'></div>  
-                 </td>  
-                 <% if (Features != null && Features.DeleteUsers)  
-                     { %>  
-                 <td class="column-controls">  
-                     <asp:Button ID="deleteUserButton" runat="server" CommandName="Gebruiker Verwijderen"  
-                         OnClientClick="return confirm('Weet u zeker dat u deze gebruiker wilt verwijderen?')"  
-                         CssClass="icon-16 bin" OnClick="DeleteUserButton_Click" CommandArgument="<%#  (Container.DataItem as WcfUser).userId  %>" />  
-                 </td>  
-                 <% } %>  
-             </tr>  
-         </ItemTemplate>  
-         <FooterTemplate>  
-             </table>  
-             <div style="margin: 5px auto; width: 450px;">  
-                 <asp:Button ID="firstPageButton" runat="server" Text=" First " OnClick="firstPageButton_Click"  
-                     CssClass="button-s" />  
-                 <asp:Button ID="prevThreePagesButton" runat="server" Text=" <<< " OnClick="prevThreePagesButton_Click"  
-                     CssClass="button-s" />  
-                 <asp:Button ID="prevButton" runat="server" Text=" < " OnClick="prevButton_Click"  
-                     CssClass="button-s" />  
-                 <asp:Label ID="currentPageLabel" runat="server" CssClass="label label-xxs" Style="text-align: center;" />  
-                 <asp:Button ID="nextButton" runat="server" Text=" > " OnClick="nextButton_Click"  
-                     CssClass="button-s" />  
-                 <asp:Button ID="nextThreePagesButton" runat="server" Text=" >>> " OnClick="nextThreePagesButton_Click"  
-                     CssClass="button-s" />  
-                 <asp:Button ID="lastPageButton" runat="server" Text=" Last " OnClick="lastPageButton_Click"  
-                     CssClass="button-s" />  
-             </div>  
-             <div>  
-                 <asp:Label ID="CurrentPageOfTotalPagesLabel" Visible="True" runat="server" CssClass="label label-xxl" Style="text-align: right; float: right" />  
-             </div>  
-         </FooterTemplate>  
-     </asp:Repeater>  
-     <div class="row error">  
-         <asp:Literal ID="FailureTextLiteral" runat="server" EnableViewState="False" />  
-     </div>  
- </div>  
- public partial class UsersControl : CompleetControl  
- {  
-     protected Features Features;  
-     private User _user;  
-     private Guid _sessionId;  
-   
-     public int PageSize = 5;  
-     private static int _pageCount;  
-     private static int _userAmount;  
-   
-     protected void Page_Load(object sender, EventArgs e)  
-     {  
-         _sessionId = Guid.Parse(HttpContext.Current.Session["BWSESSION"].ToString());  
-   
-         try  
-         {  
-             if (PortalApplication == null)  
-                 return;  
-   
-             Features = new Features(PortalApplication.User);  
-             if (!Features.ReadUsers)  
-             {  
-                 PortalApplication.ExecuteCommand(PortalApplication.GetAfterErrorCommand(404));  
-                 return;  
-             }  
-   
-             if (!IsPostBack)  
-                 FillRptUsers();  
-   
-             AddUserHyperLink.NavigateUrl = PortalApplication.GetUrl(PortalApplication.GetCommandByName(ApplicationCommands.UserAdd).Url);  
-         }  
-         catch (Exception ex)  
-         {  
-             PortalApplication.HandleException(ex);  
-             ShowFailureText();  
-         }  
-     }  
-   
-     public void FillRptUsers()  
-     {  
-           
-         char[] charsToTrim = { ' ', '\t' };  
-         UserFilter.Text = UserFilter.Text.Trim(charsToTrim);  
-   
-           
-         var startIndex = PageSize*CurrentPage;  
-   
-           
-         var sorthingMethod = (string) ViewState["SortOrder"];  
-         var sorthingColumn = (string) ViewState["SortColumn"];  
-   
-         if (string.IsNullOrEmpty(sorthingMethod))  
-             sorthingMethod = "Asc";  
-   
-         if (string.IsNullOrEmpty(sorthingColumn))  
-             sorthingColumn = "Name";  
-   
-         var serviceProviderId = PortalApplication.User.serviceProviderId;  
-         var groupId = PortalApplication.User.groupId;  
-         var userResponse = PortalApplication.GetGroupUsers(  
-             serviceProviderId: serviceProviderId,   
-             groupId: groupId,   
-             filter: UserFilter.Text,   
-             curPage: CurrentPage,   
-             startIndex: startIndex,  
-             limit: PageSize,  
-             sortOrder: sorthingMethod,  
-             sortColumn: sorthingColumn  
-             );  
-   
-         var users = userResponse.Item1;  
-         _userAmount = userResponse.Item2;  
-   
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-           
-   
-           
-         foreach (var user in users)  
-             user.phoneNumber = CompleetApplication.E164ToLocal(user.phoneNumber);  
-   
-         var dataSource = new PagedDataSource  
-         {  
-             DataSource = users,  
-             AllowPaging = true,  
-             PageSize = PageSize,  
-             VirtualCount = _userAmount  
-         };  
-   
-         rptUsers.DataSource = dataSource;  
-         rptUsers.DataBind();  
-   
-         _pageCount = _userAmount%PageSize == 0 ? _userAmount/PageSize : (_userAmount/PageSize) + 1;  
-         SetPageControl(dataSource);  
-     }  
-   
-     public void SetPageControl(PagedDataSource dataSource)  
-     {  
-         var currentPageLabel = (Label)rptUsers.Controls[rptUsers.Controls.Count - 1].Controls[0].FindControl("currentPageLabel");  
-         var nextPageButton = (Button)rptUsers.Controls[rptUsers.Controls.Count - 1].Controls[0].FindControl("nextButton");  
-         var prevPageButton = (Button)rptUsers.Controls[rptUsers.Controls.Count - 1].Controls[0].FindControl("prevButton");  
-         var prevThreePagesButton = (Button)rptUsers.Controls[rptUsers.Controls.Count - 1].Controls[0].FindControl("prevThreePagesButton");  
-         var nextThreePagesButton = (Button)rptUsers.Controls[rptUsers.Controls.Count - 1].Controls[0].FindControl("nextThreePagesButton");  
-         var firstPageButton = (Button)rptUsers.Controls[rptUsers.Controls.Count - 1].Controls[0].FindControl("firstPageButton");  
-         var lastPageButton = (Button)rptUsers.Controls[rptUsers.Controls.Count - 1].Controls[0].FindControl("lastPageButton");  
-         var currentPageOfTotalPagesLabel = (Label)rptUsers.Controls[rptUsers.Controls.Count - 1].Controls[0].FindControl("CurrentPageOfTotalPagesLabel");  
-   
-         nextPageButton.Visible = true;  
-         prevPageButton.Visible = true;  
-         prevThreePagesButton.Visible = true;  
-         nextThreePagesButton.Visible = true;  
-         firstPageButton.Visible = true;  
-         lastPageButton.Visible = true;  
-   
-         currentPageLabel.Text = (CurrentPage + 1).ToString();  
-   
-           
-         var itemsvalue = ((CurrentPage*10) + 10) > _userAmount ? _userAmount : (CurrentPage*10) + 10;  
-         currentPageOfTotalPagesLabel.Text = $"Items {(CurrentPage * 10) + 1} t/m {itemsvalue} van {_userAmount}";  
-   
-         if (dataSource.PageCount == 1)  
-         {  
-             prevPageButton.Visible = true;  
-             currentPageLabel.Visible = true;  
-             nextPageButton.Visible = true;  
-             prevThreePagesButton.Visible = true;  
-             nextThreePagesButton.Visible = true;  
-             firstPageButton.Visible = true;  
-             lastPageButton.Visible = true;  
-         }  
-   
-         if (CurrentPage + 1 >= _pageCount)  
-         {  
-             nextPageButton.Visible = false;  
-             nextThreePagesButton.Visible = false;  
-             lastPageButton.Visible = false;  
-         }  
-   
-         if (CurrentPage == 0)  
-         {  
-             prevPageButton.Enabled = false;  
-             prevPageButton.Text = " ";  
-             prevPageButton.Attributes.CssStyle.Add(HtmlTextWriterStyle.BackgroundColor, "transparent");  
-             prevPageButton.Attributes.CssStyle.Add(HtmlTextWriterStyle.BorderWidth, "0");  
-   
-             prevThreePagesButton.Enabled = false;  
-             prevThreePagesButton.Text = " ";  
-             prevThreePagesButton.Attributes.CssStyle.Add(HtmlTextWriterStyle.BackgroundColor, "transparent");  
-             prevThreePagesButton.Attributes.CssStyle.Add(HtmlTextWriterStyle.BorderWidth, "0");  
-   
-             firstPageButton.Enabled = false;  
-             firstPageButton.Text = " ";  
-             firstPageButton.Attributes.CssStyle.Add(HtmlTextWriterStyle.BackgroundColor, "transparent");  
-             firstPageButton.Attributes.CssStyle.Add(HtmlTextWriterStyle.BorderWidth, "0");  
-         }  
-   
-     }  
-   
-     public int CurrentPage  
-     {  
-         get  
-         {  
-             var o = ViewState["_CurrentPage"];  
-             if (o == null)  
-                 return 0;  
-             return (int)o;  
-         }  
-   
-         set  
-         {  
-             ViewState["_CurrentPage"] = value;  
-         }  
-     }  
-   
-     protected void prevButton_Click(object sender, EventArgs e)  
-     {  
-         CurrentPage -= 1;  
-         FillRptUsers();  
-     }  
-   
-     protected void prevThreePagesButton_Click(object sender, EventArgs e)  
-     {  
-         CurrentPage -= 3;  
-         FillRptUsers();  
-     }  
-   
-     protected void firstPageButton_Click(object sender, EventArgs e)  
-     {  
-         CurrentPage = 0;  
-         FillRptUsers();  
-     }  
-   
-     protected void nextButton_Click(object sender, EventArgs e)  
-     {  
-         CurrentPage += 1;  
-         FillRptUsers();  
-     }  
-   
-     protected void nextThreePagesButton_Click(object sender, EventArgs e)  
-     {  
-         CurrentPage += 3;  
-         FillRptUsers();  
-     }  
-     protected void lastPageButton_Click(object sender, EventArgs e)  
-     {  
-         CurrentPage = _pageCount -1;  
-         FillRptUsers();  
-     }