hi
according to below thread
http://www.aspforums.net/Threads/204702/change-datalist-pagination-to-right-to-left/
I used pagination for datalist and pagination look like below:
Last Previouse ... 4 3 2 1 Next First
it is work correctly I want right to left pagination but problem is that here in below code:
private void PopulatePager(int recordCount, int currentPage)
{
double dblPageCount = (double)((decimal)recordCount / (decimal)PageSize);
int pageCount = (int)Math.Ceiling(dblPageCount);
List<PagerPage> pages = new List<PagerPage>();
if (pageCount > 0)
{
pages.Add(new PagerPage("Last", pageCount.ToString(), currentPage < pageCount, "button"));
if (currentPage == 1)
{
pages.Add(new PagerPage("Previous", (currentPage).ToString(), "button"));
}
if (currentPage > 1)
{
pages.Add(new PagerPage("Previous", (currentPage - 1).ToString(), currentPage > 1, "button"));
}
if (pageCount < 4)
{
for (int i = 1; i <= pageCount; i++)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
}
else if (currentPage < 4)
{
for (int i = 4; i >= 1; i--)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
pages.Add(new PagerPage("...", (currentPage).ToString(), false));
}
else if (currentPage > pageCount - 4)
{
pages.Add(new PagerPage("...", (currentPage).ToString(), false));
for (int i = pageCount; i >= currentPage - 1; i--)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
}
else
{
pages.Add(new PagerPage("...", (currentPage).ToString(), false));
for (int i = currentPage - 2; i <= currentPage + 2; i++)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
pages.Add(new PagerPage("...", (currentPage).ToString(), false));
}
if (currentPage != pageCount)
{
pages.Add(new PagerPage("Next", (currentPage + 1).ToString(), currentPage != pageCount, "button"));
}
pages.Add(new PagerPage("First", "1", currentPage > 1, "button"));
}
rptPager.DataSource = pages;
rptPager.DataBind();
}
when I changed "first" "Next" "previous" "Last" to persian character:"First='اولین'" "Next='بعدی'" "previous='قبلی'" "Last='آخرین'"
again page number direction changed to left to right:
1 2 3 4 ...
private void PopulatePager(int recordCount, int currentPage)
{
double dblPageCount = (double)((decimal)recordCount / (decimal)PageSize);
int pageCount = (int)Math.Ceiling(dblPageCount);
List<PagerPage> pages = new List<PagerPage>();
if (pageCount > 0)
{
pages.Add(new PagerPage("آخرین", pageCount.ToString(), currentPage < pageCount, "button"));
if (currentPage == 1)
{
pages.Add(new PagerPage("قبلی", (currentPage).ToString(), "button"));
}
if (currentPage > 1)
{
pages.Add(new PagerPage("قبلی", (currentPage - 1).ToString(), currentPage > 1, "button"));
}
if (pageCount < 4)
{
for (int i = 1; i <= pageCount; i++)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
}
else if (currentPage < 4)
{
for (int i = 4; i >= 1; i--)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
pages.Add(new PagerPage("...", (currentPage).ToString(), false));
}
else if (currentPage > pageCount - 4)
{
pages.Add(new PagerPage("...", (currentPage).ToString(), false));
for (int i = pageCount; i >= currentPage - 1; i--)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
}
else
{
pages.Add(new PagerPage("...", (currentPage).ToString(), false));
for (int i = currentPage - 2; i <= currentPage + 2; i++)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
pages.Add(new PagerPage("...", (currentPage).ToString(), false));
}
if (currentPage != pageCount)
{
pages.Add(new PagerPage("بعدی", (currentPage + 1).ToString(), currentPage != pageCount, "button"));
}
pages.Add(new PagerPage("اولین", "1", currentPage > 1, "button"));
}
rptPager.DataSource = pages;
rptPager.DataBind();
}
why this happen?
above code worked correctly just when text be in english character when I change to persian or this character "<< < >> >" it changed number direction
what should I do?
Best Regards
Neda