上次的给出了演示效果,这次就把代码一些细节说明一下.
首先说明下这个例子用到的结构和基类:
   1、具有dataGrid的页面继承了ListDataPage这个类,而ListDataPage类又继承了PageBase这个页面类。
         其中PageBase你可以写一些页面上最基本的属性,方法等。
         基本的代码如下:
         
   里面有alert这个可以基于ajax页面中实现js中alert功能,有权限控制功能,这些可以结合自己的项目写一些常用方法,还有css页面加载和常用js脚本加载等公用方法。
   另外它的子类ListDataPage(针对有DataGrid的页面)的代码如下:

   其中InitAspNetPager(AspNetPager po_Pager)这个方法是初始化分页控件的属性,如PageSize页面初始记录数等,排序方面我们把它放到SortDirection这个属性中,其实也就是一个ViewState保存其状态。DataGridSortData这个方法是在触发排序事件的时候加载这个方法,改变其DataGrid的升降标志。PagerBindDate这个方法是在页面改变的时候改变分页控件的自定义文本区的显示,达到同步页面记录数的显示信息。(可以自己需要修改)
其他重载OnPreRender、OnInit方法中,我加载了subModal.css样式,和submodalsource.js脚本,是因为这里我用了http://gabrito.com/files/subModal/这个网站上提供的代码替换弹出框。其中我修改了一个地方,
结合AspNetPager6.0无刷新分页,排序(dataGrid)--代码讲解一     if (callReturnFunc==true)//主窗口上建立一个回调方法 
    }
我在页面上加入一个TextBox1,作为是否回发标志。这个后面会更清楚。
2、页面上面基本上用到的控件有:ScriptManager,UpdatePanel,UpdateProgress,DataGrid,AspNetPager1,TextBox1(刚才提到是否回发标志),txt_delid(删除回复标志),btnAddNew(弹出新增页面)。其中UpdatePanel定义了3个触发器AsyncPostBackTrigger,第一个是AspNetPager1分页控件了,监听事件PageChanged,第2个就是当新增页面关闭(增加成功情况)时要对父页面(当前这个页面)进行回发,用到的是TextBox1,其事件TextChanged,最后一个就是删除事件用到的txt_delid的TextChanged,因为我这个删除按钮(其实是张图片而已)放在DataGrid中的模板中,动态绑定它的onclick 事件,回发txt_delid的改变值,好让服务端删除记录后刷新局部。

好了,页面代码如下:


cs代码如下:

结合AspNetPager6.0无刷新分页,排序(dataGrid)--代码讲解一using System;
结合AspNetPager6.0无刷新分页,排序(dataGrid)--代码讲解一
using System.Data;
结合AspNetPager6.0无刷新分页,排序(dataGrid)--代码讲解一
using System.Configuration;
结合AspNetPager6.0无刷新分页,排序(dataGrid)--代码讲解一
using System.Collections;
结合AspNetPager6.0无刷新分页,排序(dataGrid)--代码讲解一
using System.Web;
结合AspNetPager6.0无刷新分页,排序(dataGrid)--代码讲解一
using System.Web.Security;
结合AspNetPager6.0无刷新分页,排序(dataGrid)--代码讲解一
using System.Web.UI;
结合AspNetPager6.0无刷新分页,排序(dataGrid)--代码讲解一
using System.Web.UI.WebControls;
结合AspNetPager6.0无刷新分页,排序(dataGrid)--代码讲解一
using System.Web.UI.HtmlControls;
结合AspNetPager6.0无刷新分页,排序(dataGrid)--代码讲解一
结合AspNetPager6.0无刷新分页,排序(dataGrid)--代码讲解一
using _91dos.Components.BusApp;
结合AspNetPager6.0无刷新分页,排序(dataGrid)--代码讲解一
结合AspNetPager6.0无刷新分页,排序(dataGrid)--代码讲解一
public partial class Test_Ajax_DataGrid : EMEFRAME.ListDataPage
}

相关文章:

  • 2021-09-27
  • 2022-12-23
  • 2021-06-08
  • 2022-12-23
  • 2021-12-23
  • 2021-03-31
猜你喜欢
  • 2022-02-16
  • 2022-12-23
  • 2021-06-24
  • 2022-12-23
  • 2022-12-23
  • 2021-11-15
相关资源
相似解决方案