i want to implement custom paging(first,next,previous,last)with out link buttons and without using pagedatasource in repeater control in c#.net?
pls see the below link....
http://www.aspsnippets.com/Articles/Custom-Paging-in-ASP.Net-GridView-using-SQL-Server-Stored-Procedure.aspx
from the above link they are using
populatepager function pls modify that function by adding next and previous logic ...pls help me out...
private void PopulatePager(int recordCount, int currentPage)
{
double dblPageCount = (double)((decimal)recordCount / decimal.Parse(ddlPageSize.SelectedValue));
int pageCount = (int)Math.Ceiling(dblPageCount);
List<ListItem> pages = new List<ListItem>();
if (pageCount > 0)
{
pages.Add(new ListItem("First", "1", currentPage > 1));
for (int i = 1; i <= pageCount; i++)
{
pages.Add(new ListItem(i.ToString(), i.ToString(), i != currentPage));
}
pages.Add(new ListItem("Last", pageCount.ToString(), currentPage < pageCount));
}
rptPager.DataSource = pages;
rptPager.DataBind();
}
i modified my code in below format with page size "5"...my next and previous logic is not working
private void PopulatePager(int recordCount, int currentPage)
{
double dblPageCount = (double)((decimal)recordCount / PageSize);
int pageCount = (int)Math.Ceiling(dblPageCount);
if (pageCount > 1)
{
findex = currentPage - 5;
if (currentPage > 5)
{
lindex = currentPage + 4;
findex = currentPage;
}
else
{
lindex = 5;
}
if (lindex > pageCount)
{
lindex = pageCount;
findex = lindex - 1;
}
if (findex <= 0)
{
findex = 1;
}
List<ListItem> pages = new List<ListItem>();
if (pageCount > 1)
{
pages.Add(new ListItem("First", "1", currentPage > 1));
if (findex > 1)
{
int index = findex - 1;
pages.Add(new ListItem("..", index.ToString(), true));
}
else
{
pages.Add(new ListItem("..", findex.ToString(), false));
}
for (int i = findex; i <= lindex; i++)
{
pages.Add(new ListItem(i.ToString(), i.ToString(), i != currentPage));
}
if (lindex >= 5 & lindex < pageCount)
{
lindex = lindex + 1;
pages.Add(new ListItem("..", lindex.ToString(), true));
}
else
{
pages.Add(new ListItem("..", lindex.ToString(), false));
}
pages.Add(new ListItem("Last", pageCount.ToString(), currentPage < pageCount));
}
rptPager.DataSource = pages;
rptPager.DataBind();
}
}
pls change accordingly in above code with previous and next logic..