博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dojo自定义表格组件
阅读量:5933 次
发布时间:2019-06-19

本文共 3784 字,大约阅读时间需要 12 分钟。

table.js组件定义

define(["dijit/registry", "dojo/_base/array", "dojo/dom",'dojo/_base/kernel', 'dojo/_base/loader'],    function(registry,array, dom,dojo){        /**         * 创建表格组件         * items 协议标准         * {         *      _header:"标题一",  //表格标题         *      _align:"right",    //排列方式  目前排列方式  居中center,居右right         *      _name:"xxx",        //字段名称         *      _sticking:"xxxx",  //粘贴  替换表格数据中原有的值         *      _colspan:"2"        //将列分割  可与 _sticking属性连用   
xxx
|
xxx
可分为多个 * } */ dojo.declare("util.table",null,{ applyTo:null,//绑定的id url:null,//请求地址 items:null,//元素集合 constructor:function(args){ //构造函数 dojo.safeMixin(this, args);//此处将上面得到的方法(及属性)与要声明类本身所拥有的方法(及属性)进行合并 }, init:function(){ var tableHtml = '
'; var tableHeader = '
'; var arrItems = new Array();//将每个items放入数组中 var _items = this.items; var datas = loadJson(this.url);//获取后台json数据 //header array.forEach(_items,function(item,space){ if(space == _items.length-1){ tableHeader += '
'; arrItems.push(item); }); tableHeader +='
'; //body var tableTr = ''; array.forEach(datas,function(_data,x){ //集合中的每行元素 if( x%2 == 0){ tableTr += '
= 2){ if(typeof(_item._sticking)=='undefined'){ tableTd += '
'; tableTd += '
'; }else{ var json = '{"sticking":'+ _item._sticking+'}'; //讲function字符串变为json形式 用于转换为对象 var obj = eval("("+json+")"); var _sticking = obj.sticking(_data[_item._name]); var __stickings = _sticking.split('|'); for(var i=0;i<__stickings.length;i++){ if(i%2 == 0){ tableTd += '
'; } } } }else{ if(_item._align == 'right'){ //排列方式 tableTd +='
'; } } }); //header if(x == datas.length-1){ tableTr += ' class="none">'+tableTd+'
'; }else{ tableTr += ' >'+tableTd+''; } }); tableHtml += tableHeader + tableTr + '
= 2){ tableHeader += ' colspan="2" '; } tableHeader += ' >'+item._header+'
'+_data[_item._name]+' '+_data[_item._name]+' '; } else{ tableTd += ' >'+__stickings[i]+' '; }else{ tableTd += ' >'+ _data[_item._name] + '
' ; arrItems.splice(0,arrItems.length); dojo.byId(this.applyTo).innerHTML = tableHtml; //console.log(tableHtml); } }); //获取后台数据 function loadJson(url){ var data = null; dojo.xhrPost({ url:url, handleAs: 'json', sync:true , content:{ act:'info' }, load:function(response, ioArgs){ if(response.result===0){ data = response.datas; }; }, error:function(response, ioArgs){ } }); return data; } });

 

调用组件

define(["dijit/registry","dojo/_base/array","dojo/dom","src/table","src/master"], function(registry,array,dom,master){    return {        init: function() {          //操作          operation =function(val){              var text = '卖出';              if(val == 3){                  text += 3;              }              return ''+text+'|流水';          }          var orderTabel = new util.table({              applyTo:'_table',              url:'server/test/hq.jsp',              items:[                  {_header:"标题一",_align:"right",_name:"name1"},                  {_header:"标题二",_align:"center",_name:"name2"},                  {_header:"操作",_align:"center",_name:"name3",_sticking:operation,_colspan:"2"}              ]          });            orderTabel.init();        }    };});

 

html声明

 

转载于:https://www.cnblogs.com/hb-strive/p/3435145.html

你可能感兴趣的文章
Java 面向对象
查看>>
java final static
查看>>
delphi公用函数
查看>>
java九阴真经
查看>>
数据结构和算法基础
查看>>
Spring事务管理2----编程式事务管理
查看>>
0417 jsBom操作+Dom再次整理
查看>>
面试中常见的 MySQL 考察难点和热点
查看>>
Oracle 导出空表的新方法(彻底解决)
查看>>
设置模式讲解-索引
查看>>
Cocos2d-x之Sequence动作序列执行
查看>>
第一期周二航拍视频分享 2017/07/10
查看>>
非聚集索引的注意事项
查看>>
springboot整合rabbirmq(3.7.9)中使用mandatory参数获取匹配失败的消息以及存入rabbitmq备份交换器中!...
查看>>
ES备份
查看>>
iOS项目日志1-联系人列表
查看>>
hdu 4194(模拟)
查看>>
如何在Java中定义常量(Constant)
查看>>
jQuery选择器之表单对象属性过滤选择器Demo
查看>>
[洛谷1156]垃圾陷阱(DP)
查看>>