zoukankan      html  css  js  c++  java
  • 使用RedControls控件RadAjaxPanel、AjaxLoadingPanel实现GridView无刷新翻页和排序

    一、本文中涉及到的控件
    1、标准控件:GridView
    2、RadControls控件:RadAjaxPanel和AjaxLoadingPanel

    二、页面布局
         建立ASP.NET应用程序或网站,在aspx页面分别防置一个RadAjaxPanel、AjaxLoadingPanel和GridView控件(将GridView嵌套在RadAjaxPanel控件内部)。

         然后将RadAjaxPanel的LoadingPanelID属性设置为AjaxLoadingPanel控件的ID值便OK。

         下面只需要做好后台的程序工作,一个使用RadControls控件的Ajax功能就完成了。

    三、编写程序构造数据及实现排序和分页功能
         1、创建数据

     1 private ICollection CreateDataSource()
     2 {
     3     DataTable dt = new DataTable();
     4     DataRow dr;
     5     Random Rand_Num = new Random();
     6 
     7     dt.Columns.Add(new DataColumn("IntegerValue"typeof(Int32)));
     8     dt.Columns.Add(new DataColumn("StringValue"typeof(string)));
     9     dt.Columns.Add(new DataColumn("CurrencyValue"typeof(double)));
    10 
    11     for (int i = 0; i < 50; i++)
    12     {
    13         dr = dt.NewRow();
    14 
    15         dr[0= i;
    16         dr[1= "Item " + i.ToString();
    17         dr[2= 1.23 * Rand_Num.Next(115);
    18 
    19         dt.Rows.Add(dr);
    20     }
    21 
    22     DataView dv = new DataView(dt);
    23     if (SortExpression != string.Empty && SortExpression != null)
    24     {
    25         dv.Sort = SortExpression + SortDirection;
    26         SwapSortDirection();
    27     }
    28 
    29     return dv;
    30 }

         2、绑定数据

     1 string SortExpression;
     2 
     3 protected void Page_Load(object sender, EventArgs e)
     4 {
     5     if (!IsPostBack)
     6     {
     7         if (SortExpression == "" || SortExpression == null)
     8         {
     9             SortExpression = "IntegerValue";
    10         }
    11         GridView1.DataSource = CreateDataSource();
    12         GridView1.DataBind();
    13     }
    14 }

         3、编写排序方式属性

     1 private string SortDirection
     2 {
     3     get
     4     {
     5         if (ViewState["SortDirection"!= null)
     6         {
     7             return (string)ViewState["SortDirection"];
     8         }
     9         else
    10         {
    11             return string.Empty;
    12         }
    13     }
    14     set
    15     {
    16         ViewState["SortDirection"= value;
    17     }
    18 }
    19 
    20 private void SwapSortDirection()
    21 {
    22     if (SortDirection == string.Empty || SortDirection == " ASC")
    23     {
    24         SortDirection = " DESC";
    25     }
    26     else
    27     {
    28         SortDirection = " ASC";
    29     }
    30 }

         4、编写排序功能代码

    1 protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
    2 {
    3     Thread.Sleep(2000);
    4     GridView gv = sender as GridView;
    5     SortExpression = e.SortExpression;
    6     gv.DataSource = CreateDataSource();
    7     gv.DataBind();
    8 }

         5、编写分页功能代码

    1 protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    2     {
    3         Thread.Sleep(2000);
    4         this.GridView1.PageIndex = e.NewPageIndex;
    5         GridView1.DataSource = CreateDataSource();
    6         GridView1.DataBind();
    7     }

    四、类似控件

         RadControls系列控件的RadAjaxPanel和AjaxLoadingPanel主要是用来实现局部刷新及Loading状态,提高用户体验的目的。除此之外我们也可以使用别的技术和控件来实现,ASP.NET AJAX所提供的UpdatePanel和UpdateProgress便是。

  • 相关阅读:
    火狐插件火狐黑客插件将Firefox变成黑客工具的七个插件
    memcache安装环境:WINDOWS 7
    PHP正则表达式
    968. 监控二叉树 力扣(困难) dfs 官方说DP
    375. 猜数字大小 II 力扣(中等) 区间动态规划、记忆化搜索
    629. K个逆序对数组 力扣(困难) 区间动态规划
    剑指 Offer 51. 数组中的逆序对 力扣(困难) 巧用归并排序算法
    488. 祖玛游戏 力扣(困难) dfs
    16. 最接近的三数之和 力扣(中等) 双指针
    319. 灯泡开关 力扣(中等) 数论
  • 原文地址:https://www.cnblogs.com/beniao/p/1291224.html
Copyright © 2011-2022 走看看