• 关于jqGrid组件数据显示不出问题


    jqGrid组件一开始怎么数据都返回了渲染不出来,查找了一天,最后发现点击搜索之后doSearch()事件触发的方法并不是数据请求接口,而是再次请求了初次登录的接口,从初次登录返回的数据,数据格式没问题就可以正常显示

    <body class="easyui-layout">
    <div data-options="region:'north',split:true" style="height:40px;padding: 5px;">
        <form id="formSearchID" onsubmit="return doSearch('formSearchID','contentRegionID');">
            <tr>
                <td style="text-align: right">
                        <label>计划日期:</label>
                        <input id="startTime" name="startTime" class="easyui-datebox" style=" 100px" />
                </td>
                <td>
                    <span>订单状态:</span>
                        <select  class="easyui-combobox" name="account_id" style="200px;">
                            <option value="">全部</option>
                            <option value="9629582">网扶广点通01</option>
                            <option value="9635854">网扶广点通02</option>
                            <option value="9636292">网扶广点通04</option>
                            <option value="9636307">网扶广点通05</option>
                            <option value="9636320">网扶广点通06</option>
                        </select>
                </td>
    
                <td><button class="easyui-linkbutton" >&nbsp;&nbsp;搜索</button>&nbsp;&nbsp;</td>
                <td><button class="easyui-linkbutton" onclick="addDataPlan('formSearchID')" type="button" >插入数据</button>&nbsp;&nbsp;</td>
                <td><button class="easyui-linkbutton" onclick="addDataPlanAll('formSearchID')" type="button" >插入十表数据</button>&nbsp;&nbsp;</td>
                <!-- <td><button class="easyui-linkbutton" onclick="addDataPlan('formSearchID')" type="button">同步计划</button>&nbsp;&nbsp;</td> -->
                <td><button class="easyui-linkbutton" onclick="jQuery('#formSearchID').form('clear');" type="button" >清空</button>&nbsp;&nbsp;</td>
            </tr>
        </form>
    </div>
    <div style=" 100%;height: 95%;overflow-y: scroll;">
    <table id="contentRegionID"></table>
    </div>
    <div id="pager2"></div>
    <style type="text/css">
    #gbox_contentRegionID {
        padding-top: 57px;
    }
    .ui-jqgrid .ui-jqgrid-bdiv {
        height: 690px !important;
    }
    .panel-body.panel-body-noheader.layout-body{height: 50px !important}
    </style>
    <script>
    jQuery(document).ready(function () {
            jQuery('#startTime').datebox('setValue',formatterDate(new Date()));
    });
    formatterDate = function (date) {
      var day = date.getDate() > 9 ? date.getDate() : "0" + date.getDate();
      var month = (date.getMonth() + 1) > 9 ? (date.getMonth() + 1) : "0"
      + (date.getMonth() + 1);
      var hor = date.getHours();
      var min = date.getMinutes();
      var sec = date.getSeconds();
      return date.getFullYear() + '-' + month + '-' + day+" "+hor+":"+min+":"+sec;
    };
    
    $(function(){
        //页面加载完成之后执行
        pageInit();
    });
    function pageInit(){
        //创建jqGrid组件
        jQuery("#contentRegionID").jqGrid(
                {
                    url : '/v1/tenNews',//组件创建完成之后请求数据的url
                    datatype : "json",//请求数据返回的类型。可选json,xml,txt
                    colNames : ['推广计划ID',  '广告组ID', '总花费(元)', '曝光量', '点击数','点击率(%)','advid'],//jqGrid的列显示名字
                    colModel : [ //jqGrid每一列的配置信息。包括名字,索引,宽度,对齐方式.....
                                 {name : 'adgroup_id',index : 'adgroup_id',align : "center"},
                                 {name : 'campaign_id',index : 'campaign_id',align : "center"},
                                 {name : 'cost',index : 'cost',align : "center"},
                                 {name : 'view_count',index : 'view_count',align : "center"},
                                 {name : 'valid_click_count',index : 'valid_click_count',align : "center"},
                                 {name : 'ctr',index : 'ctr',align : "center"},
                                 {name : 'advid',index : 'advid',align : "center"},
                               ],
                    rowNum : 100,//一页显示多少条
                    rowList : [ 10, 100, 200 ],//可供用户选择一页显示多少条
                    pager : '#pager2',//表格页脚的占位符(一般是div)的id
                    sortname : 'adgroup_id',//初始化的时候排序的字段
                    sortorder : "desc",//排序方式,可选desc,asc
                    mtype : "get",//向后台请求数据的ajax的类型。可选post,get
                    viewrecords : true,
                    rownumbers: true,
                    footerrow:true,
                    caption : "订单完成情况",//表格的标题名字
                    jsonReader: {//控制返回格式,格式正确,表格自会有数据
                          root:"rows",
                          page: "page",
                          total: "total",
                          records: "records",
                          repeatitems : false,
                          id: "adgroup_id"
                    },
                    loadComplete:function() {
                        var grid = $("#contentRegionID");
                        var ids = grid.getDataIDs();
                        for (var i = 0; i < ids.length; i++) {
                            grid.setRowData ( ids[i], false, {height: 25} );
                        }
                        //数据汇总
                        var cost = parseInt(jQuery(this).getCol('cost', false, 'sum')).toFixed(2);
    
                        $(this).footerData("set", {rn:'合计', cost:cost});
                    }
                }).trigger("reloadGrid");
        /*创建jqGrid的操作按钮容器*/
        /*可以控制界面上增删改查的按钮是否显示*/
        jQuery("#contentRegionID").jqGrid('navGrid', '#pager2', {edit : false,add : false,del : false});
    }
    
    
        /**
         * 当搜索条提交时触发
         *
         */
        function doSearch(formID,tableID){
            this.addDataPlan_One(formID,tableID);
            return false;
        }
        
        function addDataPlan_One(formID,tableID){
            console.log(jQuery('#'+formID).serializeObject());
            $.ajax({
              url: '/v1/tenNews/addDataPlan',
              type: 'POST',
              dataType: 'json',
              data: jQuery('#'+formID).serializeObject()
            })
            .done(function(e) {
              console.log(e);
              console.log(jQuery('#'+formID).serializeObject());
              //自定义追加
             
              jQuery('#'+tableID).jqGrid('setGridParam', {//二次,直接用自己的参数查询结果赋给#list2
                  datatype:'json',
                  postData: jQuery('#'+formID).serializeObject()
              }).trigger('reloadGrid');
              console.log('#'+tableID);
            })
        }
    
        
    </script>
    </body>
  • 相关阅读:
    python3.6下安装wingIDE破解方法
    Python 列表list 和 字符串str 互转
    c# 读取txt文件并分隔
    基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系
    Jquery ajax动态更新下拉列表的内容
    vs2015使用技巧-------- 查看类关系图
    Dapper 批量操作sql
    Linq批量建表
    WebRequest的get及post提交
    git -- 常用命令
  • 原文地址:https://www.cnblogs.com/zdzdbk/p/10563488.html
Copyright © 2020-2023  润新知