|
|
|
Custom pagination Using Asp.Net & C#
0
Method to Custom pagination Using Asp.Net & C#
public string Navigation(string url, int max_links, int curr_pages, int NUM_ROWS, int total_rows, bool back_forward, string css_current)
{
string separator = "|";
double d = (Convert.ToDouble(total_rows) / Convert.ToDouble(NUM_ROWS));
//double operator /(double x, double y);
int Round = Convert.ToInt32(Math.Round(d, 0, MidpointRounding.AwayFromZero));
int all_pages = Round - 1;
string navi_string = "";
int start = 0;
int end = 0;
int forward = 0;
int backward = 0;
if (back_forward == false)
{
max_links = (max_links < 2) ? 2 : max_links;
}
if (curr_pages <= all_pages && curr_pages >= 0)
{
if (curr_pages > (max_links / 2))
{
start = (curr_pages - (max_links / 2) > 0) ? curr_pages - (max_links / 2) : 1;
end = curr_pages + (max_links / 2);
if (end >= all_pages)
{
end = all_pages + 1;
start = (all_pages - (max_links - 1) > 0) ? all_pages - (max_links - 1) : 1;
}
}
else
{
start = 0;
end = (all_pages >= max_links) ? max_links : all_pages + 1;
}
if (all_pages >= 1)
{
forward = curr_pages + 1;
backward = curr_pages - 1;
if (curr_pages > 0)
{
navi_string = "<a href=\"" + url + "page=" + backward + "\"><<</a> ";
}
else
{
navi_string = "<< ";
}
if (!back_forward)
{
for (int a = start + 1; a <= end; a++)
{
int theNext = a - 1;
if (theNext != curr_pages)
{
navi_string += "<a href=\"" + url + "page=" + theNext + "\">";
navi_string += a.ToString() + "</a>";
navi_string += (theNext < (end - 1)) ? separator : "";
}
else
{
navi_string += (css_current != "") ? "<span class=\"" + css_current + "\">" + a.ToString() + "</span>" : a.ToString();
navi_string += (theNext < (end - 1)) ? separator : "";
}
}
}
navi_string += (curr_pages < all_pages) ? " <a href=\"" + url + "page=" + forward.ToString() + "\">>></a>" : " >>";
}
}
return navi_string;
}




There are currently no comments for this snippet.