这一篇不知道你有没有看过基于asp.net + easyui框架,一步步学习easyui-datagrid——实现分页和搜索(二)
另外你后台处理的代码是怎么样的?

解决方案 »

  1.   

    jquery easyui datagrid 分页 详解
      

  2.   

    var r = $('#tb_contractsMess').datagrid('getSelections');
        parent.$("<div/>").dialog({
            id: 'dialog_Contracts',
            iconCls: 'icon-columns',
            title: '操作日志',
            width: 600,
            height: 400,
            modal: true,
            href: "View_ContractsOperationLog.aspx",
            buttons: [{
                text: '关闭',
                iconCls: 'icon-cancel',
                handler: function () {
                    $.close_dialog_iframe("dialog_Contracts")
                }
            }],
            onLoad: function () {
                parent.$("#tb_contractsMessLog").datagrid({
                    title: "",
                    iconCls: 'icon-columns',
                    url: "Ashx/List_Contracts.ashx?action=SelectContractsLogList&id=" + r[0].Info_ID + "",
                    idField: 'Log_ID',
                    sortName: 'Log_Time',
                    sortOrder: 'asc',
                    fitColumns: true,
                    rownumbers: false,
                    nowrap: false,
                    striped: true,
                    pagination: true,
                    pageSize: 10,
                    pageList: [10, 20, 30, 40, 50, 100],
                    columns: [[{
                        field: 'Log_UserName',
                        title: '操作人',
                        sortable: true                },
                    {
                        field: 'Log_Action',
                        title: '操作',
                        sortable: true,
                        width: 45                },                {
                        field: 'Log_Memo',
                        title: '操作备注',
                        sortable: true,
                        width: 80
                    },
                    {
                        field: 'Log_Time',
                        title: '操作日期',
                        sortable: true                }]]
                })
            },
            onClose: function () {
                $.close_dialog_iframe("dialog_Contracts")
            }
        })
      

  3.   

     /// 查询操作日志
        /// </summary>
        /// <param name="context"></param>
        void SelectContractsLogList(HttpContext context)
        {        int pageSize = 0;                   // 每页显示的记录的条数 
            int pageIndex = 0;                  // 当前页的页码 
            string sortName = string.Empty;
            string sortOrder = string.Empty;
            string orderStr = string.Empty;
            string userName = string.Empty;
            pageSize = Convert.ToInt32(context.Request["rows"]);
            pageIndex = Convert.ToInt32(context.Request["page"]);
            sortName = context.Request["sort"];
            sortOrder = context.Request["order"];
            orderStr = sortName + " " + sortOrder;
            context.Response.ContentType = "text/plain";        string id = context.Request["id"].ToString();
            sb.Append("SELECT * FROM NCC_InfoLog WHERE Info_ID=" + Convert.ToInt32(id) + "");
            DataSet ds = DbHelperSQL.GetPageData(pageSize, pageIndex, sb.ToString(), orderStr);
           
            string strJSON = JsonHelper.CreateJsonParameters(ds.Tables[0], true, int.Parse(ds.Tables[1].Rows[0][0].ToString()));
            context.Response.Write(strJSON);
        }
      

  4.   

    success: function (result) {  
                     if (result.indexOf("T") == 0) {  
                         $('#dlg').dialog('close');  
                         $('#tt').datagrid('clearSelections'); //清空选中的行  
                         $.messager.alert("提示", "恭喜您,信息修改成功", "info");  
                         //alert('恭喜您,信息添加成功!')  
                         // close the dialog  
                         $('#tt').datagrid('reload');  
                         $('#fm').form('submit');  
      
                     }  
                     else {  
                         $.messager.alert("提示", "修改失败,请重新操作!", "info");  
                         return;  
                         //alert('添加失败,请重新操作!')  
                     }  
    这个代码中if (result.indexOf("T") == 0),就是说返回True时,就表示修改成功,我的也可以执行到这里,不过就是$('#tt').datagrid('reload');  貌似不管用,我都弹出对话框“提示", "恭喜您,信息修改成功”了,数据库里的数据也已经修改成功了,但就是表格不刷新
    添加数据的时候,也是这样的,能不能再指导下,谢了
      

  5.   

    1. reload的时候应该会清除选中行的,$('#tt').datagrid('clearSelections');是不是不需要。
    2. $('#fm').form('submit');这句的目的是什么?修改成功了,还需要提交表单吗?
    下面的链接一步一步解释了CRUD,看一下
    Build CRUD Application with jQuery EasyUI
    下面的链接是实例,可以自己动手测试
    Basic CRUD Application
    如果还有问题,可以再讨论。
    success: function (result) {  
                     if (result.indexOf("T") == 0) {  
                         $('#dlg').dialog('close');  
                         $('#tt').datagrid('clearSelections'); //清空选中的行  
                         $.messager.alert("提示", "恭喜您,信息修改成功", "info");  
                         //alert('恭喜您,信息添加成功!')  
                         // close the dialog  
                         $('#tt').datagrid('reload');  
                         $('#fm').form('submit');  
      
                     }  
                     else {  
                         $.messager.alert("提示", "修改失败,请重新操作!", "info");  
                         return;  
                         //alert('添加失败,请重新操作!')  
                     }  
    这个代码中if (result.indexOf("T") == 0),就是说返回True时,就表示修改成功,我的也可以执行到这里,不过就是$('#tt').datagrid('reload');  貌似不管用,我都弹出对话框“提示", "恭喜您,信息修改成功”了,数据库里的数据也已经修改成功了,但就是表格不刷新
    添加数据的时候,也是这样的,能不能再指导下,谢了
      

  6.   

    success: function (result) {  
                     if (result.indexOf("T") == 0) {  
                         $('#dlg').dialog('close');  
                         $('#tt').datagrid('clearSelections'); //清空选中的行  
                         $.messager.alert("提示", "恭喜您,信息修改成功", "info");  
                         //alert('恭喜您,信息添加成功!')  
                         // close the dialog  
                         $('#tt').datagrid('reload');  
                         $('#fm').form('submit');  
      
                     }  
                     else {  
                         $.messager.alert("提示", "修改失败,请重新操作!", "info");  
                         return;  
                         //alert('添加失败,请重新操作!')  
                     }  
    这个代码中if (result.indexOf("T") == 0),就是说返回True时,就表示修改成功,我的也可以执行到这里,不过就是$('#tt').datagrid('reload');  貌似不管用,我都弹出对话框“提示", "恭喜您,信息修改成功”了,数据库里的数据也已经修改成功了,但就是表格不刷新
    添加数据的时候,也是这样的,能不能再指导下,谢了实在很谢谢你,我还是学到了很多东西,感谢。后面也发现一个问题,我的IE11上就有分页只刷新序号,不刷新内容,还有就是修改、删除页面不刷新,然后换FireFox和Chrome都是很正常的,没有这些东东,看来不怎么兼容IE11啊。
    不过还是很感谢你,你给我看的那几篇文章,我还是很受学习。
      

  7.   

    一般来说,像jQuery这样的框架会考虑到浏览器兼容性的,或者会在文档里说明(比如最新版的不再支持IE6, IE7,IE8等)。而且你说的之刷新序号不刷新内容有点奇怪,因为要么刷新要么不刷新,或者刷新出错的话,出错行以后的应该都不会刷新。你可以打开IE的开发者工具(或者按F12),在控制台看看是不是有js错误。
    我在上次给的示例页面里面,使用IE11,编辑和删除都是正常的。把你的代码和示例的代码比较一下,看看写法上面是不是一样。是不是都有reload。