ip.js 表格控制-API属性设置

  1. gridAPI
    ----------------------1.1 手动创建表格--------------------
  • Grid属性API、 Grid列属性API、 Grid生命周期API。
    要用的属性都在html创建表格时写上。
    如下:
    Grid属性、Grid生命周期 写在u-meta里, Grid列属性创建列时写在options里。
//Grid属性API  //Grid生命周期API eg: onRowFocus
<div id="attachGrid" class="new-add-grid-style"  style="height:42%;"
u-meta='{"id":"attachgrid","type":"grid","data":"filesDataTable",
          "showNumCol":"false",
          "columnMenu":false,
          "canDrag":true,
          "sortable":false,
          "canSwap":true,
          "multiSelect": true,
          "columnMenu":true,
          "editable":true,
          "cancelFocus":false,
          "cancelSelect":false,
          "headerHeight":32,
          "rowHeight":32 ,
          "showNumCol": true,
          "showSumRow": false,
          "sumRowFirst":true,
          "onRowFocus":"onRowFocus",
          "onBeforeValueChange":"onBeforeValueChange"}'>
        //Grid列属性API
        <div options='{"field":"fileName",
                       "dataType":"String","title":"文件名称",
                       "width":"200",
                       "renderType":"",
                       "editType":""}'>
        </div>
        <div options='{"field":"fileType",
                        "dataType":"String",
                        "title":"文件类型" ,"width":"80",
                        "renderType":"",
                        "editType":""}'>
        </div>
</div>
  • js
var viewModel = {
  filesDataTable: new u.DataTable({
            meta : {
                "fileName" : {
                    type : 'string'
                },//文件名称
                "fileType" : {
                    type : 'string'
                }//文件类型
            }
        }),
}
  • Grid方法API
1.方法一:
通过生命周期方法参数获取并保存gridObj。通过gridObj使用grid方法。
//Grid方法API 
var gridObj  = {};
onRowFocus = function(obj){
            gridObj = obj.gridObj
}
gridObj.getAllRows();

2.方法二(推荐):
//视图id = attachgrid(在u-meta中定义了id)
var gridObj = $('#attachgrid' ).parent()[0]['u-meta'].grid;
//setRenderType 设置渲染方法
gridObj .getAllRows();
  • u.js? 赋值等 setSimpleData
viewModel.filesDataTable.setSimpleData(data);
var filesData = viewModel.filesDataTable.getSimpleData({type:"select"});
var delchrIds = vm.accountBookDataTable.getSimpleData({
            type : 'select',
            fields:['chrId']
        });

---------------------2.2 视图创建表格-------------------

  • 初始化表格
viewModel.initData = function() {
   for ( var n = 0; n < viewModel.viewList.length; n++) {
      var view = viewModel.viewList[n];
      if (view.viewtype == PeConstant.ViewType.VIEWTYPE_LIST) {// 列表视图
        if (view.orders == '1') {
        viewModel.gridViewid_fileList = view.viewid;
            viewModel.tableViewDetail_fileList = view;
        }
      }else if (view.viewtype == PeConstant.ViewType.VIEWTYPE_QUERY) {// 查询视图
      } 
 }
  //初始化主页面未审核、已审核列表
viewModel.gridViewModel_fileList = ip.createGrid(viewModel.gridViewid_fileList, 'fileListGrid',"", options, 0, false, false, false, false);
};      
  • Grid属性API

  • Grid列属性API

  • Grid生命周期API
    生命周期方法在创建视图时自动生成,方法名称是表名+下划线+事件(onXxxx),直接使用。具体可调试查看生成的表格。

fileListGrid_onRowSelectedFun = function(){}

fileListGrid_onRowUnSelectedFun = function(){}

fileListGrid_onDbClick = function(){}

fileListGrid_onRowSelected = function(){}
image.png
  • Grid方法API
//viewModel.gridViewid 视图id
var gridObj = $('#' + viewModel.gridViewid_fileList.substring(1, 37) + '').parent()[0]['u-meta'].grid;
//setRenderType 设置渲染方法
gridObj .setRenderType("fileName",viewModel.attachRenderType);

viewModel.attachRenderType= function(obj){
        if(obj.value && "1" == obj.value){
            obj.element.innerHTML = "<input type='checkbox' value='1' checked='checked'/>";
        }else{
            obj.element.innerHTML = "<input type='checkbox' value='1'/>";
        }
 }
  • u.js? 赋值等 setSimpleData
//分步
var gridObj = $('#' + viewModel.gridViewid_fileList.substring(1, 37) + '').parent()[0]['u-meta'].grid;
var fileListDataTable= gridObj .dataTable;
fileListDataTable.setSimpleData(data);
//简写
var fileListDataTable = $('#' + viewModel.gridViewid_fileList.substring(1, 37) + '').parent()[0]['u-meta'].grid.dataTable;

var ids = viewModel.gridViewModel_fileList.gridData.getSimpleData({
                                type : 'select',
                                fields:['chrId']//其他都是CHR_ID
                            });
                    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,136评论 1 32
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,547评论 8 265
  • 让大海绝迹 月亮变低 我想拥抱你 在最美的春季 像思念化作雨滴 像喜悦变成月季 我和你 只隔一朵玫瑰的距离
    南风之南阅读 200评论 0 3
  • 我也记不得我是有多久没看过电影,更别说进电影院了。内心里能否感受到幸福好像与婚姻没有关系,
    拉菲圆圈阅读 185评论 0 0
  • 一切数学都是同义反复 也就是说,作为一种形式系统的算术无法保证不会得出一等于二这样的结果 尽管态度无比虔诚,他们仍...
    何青猊阅读 555评论 0 2