protected virtual void OnPageIndexChanging(RepeaterPageEventArgs e) { if (PageIndexChangingEvent == null || PageIndexChangingEvent.GetInvocationList().Length == 0) { throw (new Exception("The Repeater \'" + this.ID + "\' fired event PageIndexChanging which wasn\'t handled.")); } else { PageIndexChangingEvent.Invoke(this, e); } }
protected override void OnItemCommand(System.Web.UI.WebControls.RepeaterCommandEventArgs e) { if (e.CommandName == "Page") { RepeaterPageEventArgs arg = null; int pagina = 0; if (int.TryParse(e.CommandArgument.ToString(), out pagina)) { arg = new RepeaterPageEventArgs(pagina); } else if (e.CommandArgument.ToString() == "Next") { arg = new RepeaterPageEventArgs(PageIndex + 1); } else if (e.CommandArgument.ToString() == "Prev") { arg = new RepeaterPageEventArgs(PageIndex - 1); } else if (e.CommandArgument.ToString() == "First") { arg = new RepeaterPageEventArgs(0); } else if (e.CommandArgument.ToString() == "Last") { arg = new RepeaterPageEventArgs(PageCount - 1); } OnPageIndexChanging(arg); if (!arg.Cancel) { OnPageIndexChanged(new EventArgs()); } } else if (e.CommandName == "Sort") { string[] args = (e.CommandArgument.ToString() + "$").Split('$'); string field = args[0].Trim(); SortDirection ord = SortDirection.Ascending; if (args.Length > 1) { if (args[1].Trim().ToLower().StartsWith("desc")) { ord = SortDirection.Descending; } } OnSortChanging(new RepeaterSortEventArgs(field, ord)); } else { base.OnItemCommand(e); } }