void beginRender(MarkupWriter writer) {
int availableRows = source.getAvailableRows();
maxPages = ((availableRows - 1) / rowsPerPage) + 1;
if (maxPages < 2) return;
writer.element("div", "class", "t-data-grid-pager");
lastIndex = 0;
for (int i = 1; i < = 2; i++)
writePageLink(writer, i);
int low = currentPage - range;
int high = currentPage + range;
if (low < 1)
{
low = 1;
high = 2 * range + 1;
}
else
{
if (high > maxPages)
{
high = maxPages;
low = high - 2 * range;
}
}
for (int i = low; i < = high; i++)
writePageLink(writer, i);
for (int i = maxPages - 1; i < = maxPages; i++)
writePageLink(writer, i);
writer.end();
}
|