最近做页面初用flexgrid ,遇到一个问题,当后台很长的json字符串传到前台隐藏列中,该字符串保存当前所有记录为后面的画图不再去查询后台直接在前台展示。
之前的做法是把所有字符串存放到每条记录的隐藏列中,然后点击详细时取得隐藏列的内容,这样的问题在于每一列的隐藏列数据都是一样的而且当记录数据条数很多时,消耗资源。
现在想不用隐藏列存储同样的数据,所以要在数据加载前对数据处理。我的做法在数据加载前将json字符串写入当前页面的隐藏层中,使用json串时直接使用document.getElementById("jsonstr").innerHTML获取json串
<script type="text/javascript">
var options={
rowbinddata:true,
url: '/opencpc/log/mlog/manage_list.action',
method: 'POST',
dataType: 'json',
preProcess:wirteJsonStr, //将jsonstr 写入隐藏div层
colModel: [],...
function wirteJsonStr(msg){
var row0 = msg.rows[0];
var jsonstr = row0.cell[9];
// alert(jsonstr);
document.getElementById("jsonstr").innerHTML = jsonstr;
return msg;
}
获取所有行数据
$('#flex1 tr', grid).each(function() {
alert($(this).text());
});
$('.trSelected', grid)
var rowdatas = rowdata.split('_FG$SP_');
var clee6 = rowdatas[6];
flexgrid一些属性
height: 200, //flexigrid插件的高度,单位为px
width: 'auto', //宽度值,auto表示根据每列的宽度自动计算,在IE6下建议设置具体值否则会有问题
striped: true, //是否显示斑纹效果,默认是奇偶交互的形式
novstripe: false,//没用过这个属性
minwidth: 30, //列的最小宽度
minheight: 80, //列的最小高度
resizable: false, //resizable table是否可伸缩
url: false, //ajax url,ajax方式对应的url地址
method: 'POST', // data sending method,数据发送方式
dataType: 'json', // type of data loaded,数据加载的类型,xml,json
errormsg: '发生错误', //错误提升信息
usepager: false, //是否分页
nowrap: true, //是否不换行
page: 1, //current page,默认当前页
total: 1, //total pages,总页面数
useRp: true, //use the results per page select box,是否可以动态设置每页显示的结果数
rp: 25, // results per page,每页默认的结果数
rpOptions: [10, 15, 20, 25, 40, 100], //可选择设定的每页结果数
title: false, //是否包含标题
pagestat: '显示记录从{from}到{to},总数 {total} 条', //显示当前页和总页面的样式
procmsg: '正在处理数据,请稍候 ...', //正在处理的提示信息
query: '', //搜索查询的条件
qtype: '', //搜索查询的类别
qop: "Eq", //搜索的操作符
nomsg: '没有符合条件的记录存在', //无结果的提示信息
minColToggle: 1, //允许显示的最小列数
showToggleBtn: true, //是否允许显示隐藏列,该属性有bug设置成false点击头脚本报错。
hideOnSubmit: true, //是否在回调时显示遮盖
showTableToggleBtn: false, //是否显示【显示隐藏Grid】的按钮
autoload: true, //自动加载,即第一次发起ajax请求
blockOpacity: 0.5, //透明度设置
onToggleCol: false, //当在行之间转换时,可在此方法中重写默认实现,基本无用
onChangeSort: false, //当改变排序时,可在此方法中重写默认实现,自行实现客户端排序
onSuccess: false, //成功后执行
onSubmit: false, // 调用自定义的计算函数,基本没用