在上一篇文章中我们讲解了在 WinForms 程序中如何给 SectionReport 添加动态排序,本文将讲解如何在 ASP.NET 程序中实现 SectionReport 的动态排序操作。
为SectionReport添加排序功能 之 WinForms
首先在 ASP.NET 程序中添加 SectionReport 报表,并连接数据源,然后我们给产品ID这一列添加动态排序操作,报表设计界面如下:
我们给Label2设置 HyperLink 属性为 WebForm1.aspx?sort=DESC ,并在报表的后台代码中添加以下代码,用于更改 Label2 的显示文字和 HyperLink 属性:
public string Sort { get; set; } private void SectionReport1_ReportStart(object sender, EventArgs e) { if (Sort == "ASC") { this.label2.Text = "▲"; this.label2.HyperLink = "WebForm1.aspx?sort=DESC"; } else { this.label2.Text = "▼"; this.label2.HyperLink = "WebForm1.aspx?sort=ASC"; } }
然后我们在 WebForm1 后台代码中获取 sort 的值,并按照设置进行排序,后台代码如下:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string sort = "ASC"; if (Request.QueryString["sort"] != null) { sort = Request.QueryString["sort"]; } SectionReport1 rpt = new SectionReport1(); rpt.Sort = sort; rpt.DataSource = GetData(sort); WebViewer1.Report = rpt; } }
运行截图:
源码下载: