- gridAPI
----------------------1.1 手動(dòng)創(chuàng)建表格--------------------
- Grid屬性API、 Grid列屬性API、 Grid生命周期API。
要用的屬性都在html創(chuàng)建表格時(shí)寫上。
如下:
Grid屬性、Grid生命周期 寫在u-meta里, Grid列屬性創(chuàng)建列時(shí)寫在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.方法一:
通過(guò)生命周期方法參數(shù)獲取并保存gridObj。通過(guò)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 設(shè)置渲染方法
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 視圖創(chuàng)建表格-------------------
- 初始化表格
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) {// 查詢視圖
}
}
//初始化主頁(yè)面未審核、已審核列表
viewModel.gridViewModel_fileList = ip.createGrid(viewModel.gridViewid_fileList, 'fileListGrid',"", options, 0, false, false, false, false);
};
Grid屬性API
Grid列屬性API
Grid生命周期API
生命周期方法在創(chuàng)建視圖時(shí)自動(dòng)生成,方法名稱是表名+下劃線+事件(onXxxx),直接使用。具體可調(diào)試查看生成的表格。
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 設(shè)置渲染方法
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);
//簡(jiǎn)寫
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
});