private void BindRepeater() { dataCal1.Visible = false; rptEntries.Visible = true; DataView entries = GetEntriesTable().DefaultView; // filter just entries confirmed to end users if (!this.EnableInPlaceEditing) { entries.RowFilter = "Confirmed = true"; } else { entries.RowFilter = string.Empty; } if (!EnableSelectivePublishing) { entries.RowFilter = string.Empty; } if ((UseFeedListAsFilter) && (ItemID > -1)) { if (entries.RowFilter == string.Empty) { entries.RowFilter = "FeedId = " + ItemID.ToInvariantString(); } else { entries.RowFilter += " AND FeedId = " + ItemID.ToInvariantString(); } } if (RSSFeedSortAscending) { entries.Sort = "PubDate ASC"; } else { entries.Sort = "PubDate DESC"; } PagedDataSource pagedDS = new PagedDataSource(); pagedDS.DataSource = entries; pagedDS.AllowPaging = true; pagedDS.PageSize = pageSize; pagedDS.CurrentPageIndex = pgrRptEntries.CurrentIndex - 1; totalPages = 1; int totalRows = entries.Count; if (pageSize > 0) { totalPages = totalRows / pageSize; } if (totalRows <= pageSize) { totalPages = 1; } else { int remainder; Math.DivRem(totalRows, pageSize, out remainder); if (remainder > 0) { totalPages += 1; } } if (this.totalPages > 1) { pgrRptEntries.ShowFirstLast = true; pgrRptEntries.PageSize = pageSize; pgrRptEntries.PageCount = totalPages; } else { pgrRptEntries.Visible = false; } rptEntries.DataSource = pagedDS; rptEntries.DataBind(); }