公司有个项目前端主要是用jqGrid来做的,对于俺这新人且前端不熟的人而言,难度还是有点大,记录下本人在此次开发中所使用的属性或方法。
viewrecords:true,显示记录
rowNum:-1,设置可显示的行数当前返回最大值(例如:返回100条数据,界面可显示的数据为100,返回1000,界面可显示的数据为1000.适合用在未分页但是不可预测返回多少行的情况)
单击行之前触发的事件:beforeSelectRow
单机行时触发的事件:onSelectRow
设置多选:multiselect: true,
根据ID获取某一行数据:$("#gridList").jqGrid("getRowData", ID)
冻结列:在渲染列的时候(colModel里面)添加 Frozen:true;然后 jQuery("#gridList").jqGrid('setFrozenColumns');
重新执行url方法 传递参数(keyword):$("#gridList").jqGrid('setGridParam',{postData: { keyword: $("#txt_keyword").val() }}).trigger('reloadGrid');
从界面上移除某一行(没有修改数据库): $("#gridList").jqGrid("delRowData", id);
获取所有选中行ID:var ids = $('#gridList').jqGrid('getGridParam', 'selarrrow');
获取所有行ID:var ids = $('#gridList').jqGrid('getDataIDs');
设置行可编辑:
editable: true,
edittype: 'text',
editoptions: { size: 10, maxlength: 15 },
editrules: { required: true },
formoptions: { elmprefix: '(*)' }
上面是自带的行编辑
本人更喜欢这种行编辑方式:
{
name: 'Amount', 80, align: 'right',
formatter: function (value, options, rowObject)
{
value = value == null ? "0.00" : rowObject.Amount;
return "<input class="form-control " id="" + rowObject.ID + "Amount" onkeyup=KeyUpAmount('" + rowObject.ID + "',this.id,this) value="" + value + ""/>";
}
}
注意:提交表单的时候注意把input的value 取出来赋值给Amount,不然没法提交
格式化日期:
{
label: '销售日期', name: 'CreateDateTime', 160, align: 'left'
, formatter: "date", formatoptions: { srcformat: 'Y-m-d', newformat: 'Y-m-d' }
}
设置无数据时提示文字不显示:
unwritten: false
暂时能想到的就这么多了。。。。后续遇到再补
操作里面多个按钮,分别显示悬停文字 在格式化按钮的时候加入title属性,如: "<i title="下载" class="fa fa-cloud-download"></i>"