zoukankan      html  css  js  c++  java
  • jQuery EasyUI-DataGrid动态加载表头

        

    项目总结—jQuery EasyUI-DataGrid动态加载表头

     
     
     

     

    概要

     

           在前面两篇文章中,我们已经介绍了在jQuery EasyUI-DataGrid中有参数和无参数的情况下将数据库中数据显示到前台,但是对于前面两篇文章显示的数据表头是固定的,如果我们显示到前台的数据来自数据库不同的表,那么表头也需要动态的加载,这篇文章我们就来看下在EasyUI-DataGrid中动态加载表头和数据.

     

     

    实现

     

            我们要实现的功能是根据我们的需要,DataGrid显示不同的数据,表头也同样在变,我们可以先看下我们要实现功能的页面.

     

     

    如图所示我们点击左侧不同的节点,右侧将会显示不同DataGrid的数据.

     

    现在我们来看下前台html页的代码,因为表头是变的,所以我们的前台代码跟前面两篇博客就有点不一样了.

     

     

    1. <divdata-optionsdivdata-options="region:'center',title:'考核对象数据录入情况',iconCls:'icon-ok'">  
    2.                 <divclassdivclass="demo-info"data-options="fit:true,border:false,plain:true">  
    3.    
    4.                     <table id="dg"title="考核对象数据计算得分" class="easyui-datagrid"style=" 900px; height: 400px; padding-left: 200px;"data-options="rownumbers:true,pageSize:5,pageList:[5,10,15,20],method:'get',"  
    5.                        pagination="true" rownumbers="true"fitcolumns="false" striped="true"singleselect="true">  
    6.                         <thead>  
    7.                         </thead>  
    8.    
    9.                     </table>  
    10.            </div>  
    11.    
    12.         </div>  
    <divdata-options="region:'center',title:'考核对象数据录入情况',iconCls:'icon-ok'">
                    <divclass="demo-info"data-options="fit:true,border:false,plain:true">
     
                        <table id="dg"title="考核对象数据计算得分" class="easyui-datagrid"style=" 900px; height: 400px; padding-left: 200px;"data-options="rownumbers:true,pageSize:5,pageList:[5,10,15,20],method:'get',"
                           pagination="true" rownumbers="true"fitcolumns="false" striped="true"singleselect="true">
                            <thead>
                            </thead>
     
                        </table>
               </div>
     
            </div>

     

     

    接下来我们就看下js代码生成表头的代码,如图所示的县市区定量的表头.

     

     

    1. //县市区定量指标计算情况查询  
    2.            function reloadgridCityQuanty() {  
    3.                var test =document.getElementById("NodeChild").innerHTML;  
    4.   
    5.                //于一般处理程序进行交互,同时生成县市区定量表头  
    6.                $('#dg').datagrid({  
    7.                    url:"CalculateScoreFrameCity.ashx?test=" + test,  
    8.                    columns: [[  
    9.                    { field: 'TargerName',title: '指标名称',  300 },  
    10.                    { field: 'ConditionInput',title: '数据录入情况',  300 },  
    11.                    { field: 'Operate', title:'操作',  300 }  
    12.                    ]]  
    13.   
    14.                })  
    15.            }  
     //县市区定量指标计算情况查询
                function reloadgridCityQuanty() {
                    var test =document.getElementById("NodeChild").innerHTML;
     
                    //于一般处理程序进行交互,同时生成县市区定量表头
                    $('#dg').datagrid({
                        url:"CalculateScoreFrameCity.ashx?test=" + test,
                        columns: [[
                        { field: 'TargerName',title: '指标名称',  300 },
                        { field: 'ConditionInput',title: '数据录入情况',  300 },
                        { field: 'Operate', title:'操作',  300 }
                        ]]
     
                    })
                }

     

    在这里我们需要说下的是,我们需要将我们所有要显示的数据的表头都在这里提前创建好,然后利用js语句进行动态加载.

     

    我们再来看个表头的js代码,和上面的本质上是一样的.

     

     

    1. //县市区定性计算情况查询  
    2.  functionreloadgridCharacterizationCity() {  
    3.      var test =document.getElementById("NodeChild").innerHTML;  
    4.   
    5.      //于一般处理程序进行交互,同时生成县市区定性表头  
    6.      $('#dg').datagrid({  
    7.          url:"CalculateScoreFrameCity.ashx?test=" + test,  
    8.          columns: [[  
    9.          { field: 'Name', title:'指标名称',  225 },  
    10.          { field: 'ConditionInput',title: '数据录入情况',  225 },  
    11.           { field: 'CalculateInput',title: '计算情况',  225 },  
    12.          { field: 'Operate', title:'操作',  225 }  
    13.          ]]  
    14.   
    15.      })  
    16.   
    17.  }  
               //县市区定性计算情况查询
                functionreloadgridCharacterizationCity() {
                    var test =document.getElementById("NodeChild").innerHTML;
     
                    //于一般处理程序进行交互,同时生成县市区定性表头
                    $('#dg').datagrid({
                        url:"CalculateScoreFrameCity.ashx?test=" + test,
                        columns: [[
                        { field: 'Name', title:'指标名称',  225 },
                        { field: 'ConditionInput',title: '数据录入情况',  225 },
                         { field: 'CalculateInput',title: '计算情况',  225 },
                        { field: 'Operate', title:'操作',  225 }
                        ]]
     
                    })
     
                }

     

     

     

    关于一般处理程序的书写与前面两篇文章是一样的,大家可以参考前面一篇的文章.

     

    我们也来看下我们创建的另一个表头的效果

     

     

    总结

     

           通过本篇文章我们就可以在前台根据我们的需要,来创建我们需要的表头,以此在DataGrid中显示不同的数据.有心的同学可能注意到我们这篇文章显示的数据与前面两篇文章显示的数据不一样,前面文章DataGrid表格中显示的数据是全部来自数据库表,而我们这篇文章中显示的数据不是直接来自数据库的,是我们手动拼接成的,至于具体的实现我们在下一篇文章中进行介绍.

  • 相关阅读:
    网页元素居中的n种方法
    Swifter.Json 可能是 .Net 平台迄今为止性能最佳的 Json 序列化库【开源】
    .NET 欢乐编程术之类型超级转换之术👍👍
    C#.Net 使用 JsonReader/JsonWriter 高性能解析/生成 Json 文档
    UTF-16 -- 顶级程序员也会忽略的系统编码问题,JDK 错了十年!
    迄今为止 .Net 平台功能最强大,性能最佳的 JSON 序列化和反序列化库。
    并发系列(一)——线程池源码(ThreadPoolExecutor类)简析
    Flink源码阅读(一)——Per-job之Yarn的作业调度(一)
    阅读GitHub源码的正确打开方式
    安装Elasticsearch+Kibana【单节点、多ES实例】
  • 原文地址:https://www.cnblogs.com/qmfsun/p/4171127.html
Copyright © 2011-2022 走看看