增加合计行
showFooter: true, // 是否显示底部合计行
//放在加载成功后执行方法后
gridComplete: function () {
var a = $("#dataGrid").getCol('fqty', false, 'sum');
$("#dataGrid").footerData('set', {fbillno:'合计',fqty:a });
},
取消页面某个字段排序
sortable:false
清除表单数据
$('#dataGrid').dataGrid("jqGrid", "clearGridData"); //清除表单数据
## 格式化
formatter: function(val, obj, row, act){
return js.formatDate(js.parseDate(val), 'yyyy-MM-dd');
}
formatter: function(val, obj, row, act){
return js.formatNumber(val, 2, false, ''); // 数值类型格式化 (原始数值, 小数位数, 是否千分位, 默认值,金额情况下设置0.00);
}},
操作按钮 a标签 传递多个参数
actions.push('<a href="javascript:endWeldplan(\'' + row.id + '\',\'' + row.fbillno + '\');" class="" title="${text('结束焊接任务')}"><i class="fa fa-times"></i></a> ');
actions.push('<a href="${ctx}/produce/materialdivision/delete?fbilltype=1021&id='+row.id+'"&flag='+row.flag+'" class="btnList" title="${text("删除配料单")}" data-confirm="${text("确认要删除该配料单吗?")}"><i class="fa fa-trash-o"></i></a> ');
新增行顺序
{header:'${text("顺序")}', name:'forder', width:150, editable:true, edittype:'text', editoptions:{'maxlength':'18', 'class':'form-control required digits'},
formatter: function(val, obj, row, act){
if(obj.rowId.search("jqg") != -1){
var dataList = $('#processWorkstepDataGrid').dataGrid('getDataIDs');
var i= parseInt(obj.rowId.replace("jqg",""))
i = dataList.length+1
return i
}else{
return obj.irow
}
}},
自动换行
.ui-jqgrid tr.jqgrow td {
white-space: normal !important;
word-wrap: break-word;
word-break: break-all;
}
多选
//获取选中的id
var rows =$("#dataGrid").dataGrid("getSelectRows");
var datas=[];
if(rows && rows.length>0){
for(var i=0; i<rows.length; i++){
//选中id对应的值
var data =$("#dataGrid").dataGrid("getRowData",rows[i]);
data.id = rows[i];
datas.push(data);
}
}
添加Class属性
$(“Id”).attr(“required”,true) //保存时必填属性
表单更新
$(“dataGridID”).dataGrid(“refresh”)
引用字典
//可编辑
{header:'${text("默认选中")}', name:'fchecked', width:100,
editable:true, edittype:'select', editoptions:{'class':'form-control required',
items: $.merge([{dictLabel:' ',dictValue:''}], ${@DictUtils.getDictListJson('sys_yes_no')}),
itemLabel: 'dictLabel', itemValue: 'dictValue', dataInit: function(element){
$(element).select2().on("change",function(){$(this).resetValid()});
}
}
},
//不可编辑
{header:'${text("状态")}', name:'status', index:'a.status', width:150, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_search_status')}, val, '${text("未知")}', true);
}},
给下拉列表赋值
$(“id”).val(data.id).select2(); //select2公共方法
下拉框改变值触发的方法
{header:'${text("结算模式")}', name:'fsettlemode', width:90,
editable:true, edittype:'select', editoptions:{'class':'form-control required',
items: $.merge([{dictLabel:' ',dictValue:''}], ${@DictUtils.getDictListJson('settlement_mode')}),
itemLabel: 'dictLabel', itemValue: 'dictValue', dataInit: function(element){
$(element).select2().on("change",function(){check(this)});
}
}
},
//check 方法 改变是触发
解决冻结列后高度不一致
//解决冻结列后高度不一致
//gridId 表单id
function hackHeight(gridId) {
var i=0;
$('#' + gridId + '_frozen tr').slice(1).each(function() {
var rowId = $(this).attr('id');
var frozenTdHeight = parseFloat($('td:first', this).height());
//log("frozenTdHeight="+frozenTdHeight);
var rowIds = $("#" + gridId).dataGrid('getDataIDs');
//获取对应行的所有子元素td,返回数组的形式
var cur = $("#"+rowIds[i] +">td");
//获取某个子元素并设置它的属性title
var data = cur.height();
//log("i="+i+";height"+data);
i++;
var normalHeight = parseFloat(data);
//parseFloat($("#"+listId).find("tr").find("td:eq(6)").height());
//log("normalHeight="+normalHeight);
// 如果冻结的列高度小于未冻结列的高度则hack之
if (frozenTdHeight < normalHeight) {
$('td', this).each(function() {
/*
浏览器差异高度hack
*/
var space = 0; // opera默认使用0就可以
/* if (browser.isChrome()) {
space = 0.6;
} else if (browser.isIE()) {
space = -0.2;
} else if (browser.isMozila()) {
space = 0.5;
} */
if (!$(this).attr('style') || $(this).attr('style').indexOf('height:') == -1) {
$(this).attr('style', $(this).attr('style') + ";height:" + (normalHeight + space) + "px !important");
}
});
}
});
}
合计
gridComplete: function () {
var a = $("#dataGrid").getCol('fmtqty', false, 'sum');
$("#dataGrid").footerData('set', {'fbillno':'合计',fmtqty:a});
}
checkbox
{header:'${text("上模")}', name:'upmold2', width:100,align:"center",formatter: function(val, obj, row, act){
//return "<input type='checkbox' οnclick= on(row.id) >";
return "<input type='checkbox' id="+obj.rowId+" οnclick='change1(this,\""+obj.rowId+"\")'/>"
}},
{header:'${text("上模值")}', name:'upmold',width:150, editable:true, edittype:'text', editoptions:{'maxlength':'64', 'class':'form-control','readonly':'true','style':'background:transparent;border:0px'}},
function change1(row,id){
if(row.checked){
$("#" + id + "_upmold").val(1) //选中赋值
}else{
$("#" + id + "_upmold").val("")
}
}
function upmoldCheck(){
//关联 一个选中 另一个也选中
var dataList1 = $('#timesheetentryDataGrid').dataGrid('getDataIDs');//工艺
var dataList2 = $('#timesheetentrydetailDataGrid').dataGrid('getDataIDs');//职员
for(var j = 0; j < dataList2.length; j++) {
for(var i = 0; i < dataList1.length; i++) {
if($("#" + dataList1[i] + "_id").val()==$("#" + dataList2[j] + "_fparentid_id").val()){
z=j+1
if($("#" + dataList1[i] + "_upmold").val()=='1'){
$("#jqg" +z + "_upmold2").prop('checked','true');
$("#" + dataList2[j] + "_upmold").val(1)
}else{
log(1313)
$("#jqg" +z + "_upmold2").prop('checked',false);
log("#jqg" +z + "_upmold2")
$("#" + dataList2[j] + "_upmold").val("")
}
}
}
}
}
取值
//取dataGrid表单所有数据的id 表单id为 : dataGridId
var dataList = $('#dataGridId').dataGrid('getDataIDs');
//根据行id(row)获取数据
var data = $("#dataGrid").dataGrid("getRowData", row);
//获取选中数据
var ids1 = $("#dataGrid").dataGrid("getSelectRows");//
var ids = $('#dataGrid').dataGrid('getDataIDs');//获取表单汇报记录的id
var tempList =[];
for(var i in ids){
var fsrcentry =$("#"+ids[i]+"_fsrcentryid").val();
var Qty =$("#"+ids[i]+"_fworkload").val();
var obj={
id:ids[i],
fsrcentry : fsrcentry,//实体中的值:前端变量
Qty : Qty
};
tempList.push(obj);
}
log(tempList)
{header:'${text("车间")}', name:'fdeptid', width:120,
formatter: function(val, obj, row, act){
return js.val(row, 'fdeptid.officeCode')+'|'+js.val(row, 'fdeptid.officeName');
}, editable: true, edittype: "custom", editoptions: {
custom_element: function(val, editOptions) {
return js.template('treeselectTpl', {
id: editOptions.id, title: '机构选择',
name: 'fdeptid.officeCode', value: val.split('|')[0],
labelName: 'fdeptid.officeName', labelValue: val.split('|')[1],
url: '${ctx}/sys/office/treeData', cssClass: ' required'
});
}
}
},
<script id="treeselectTpl" type="text/template">//<!--<div>
<#form:treeselect id="{{d.id}}" title="{{d.title}}" name="{{d.name}}" value="{{d.value}}"
labelName="{{d.labelName}}" labelValue="{{d.labelValue}}" url="{{d.url}}"
class="{{d.cssClass}}" btnClass="btn-sm" allowClear="true"/>
</div>//--></script>
//设置多级表头
groupHeaders: {
twoLevel:[
{startColumnName: 'fblanklong', numberOfColumns: 2, titleText: '坯料尺寸'},
{startColumnName: 'fmaterialid.fnumber', numberOfColumns:7, titleText:'原材料信息'}
]
},
actions.push('<a href="#" οnclick="js.confirm(\'${text("你确认要删除这条数据吗?")}\', function(){$(\'#contractInfoDataGrid\').dataGrid(\'delRowData\',\''+obj.rowId+'\');
check(\''+obj.rowId+'\');
});return false;"><i class="fa fa-trash-o"></i></a> ');
方法一 :$(\'#contractInfoDataGrid\').dataGrid(\'delRowData\',\''+obj.rowId+'\');
方法二
check(\''+obj.rowId+'\');