往往我们需要给显示的jqgrid表格赋予事件功能,比如:列头事件、行事件、内容事件。需要的效果可能如下:
如你所见,以上的超链接和按钮均是绑定的事件。那分别如何实现这些事件的绑定呢?
一、行事件
行事件:在每个行头部或尾部的事件。一般用于放置‘编辑’或“删除”按钮
在jqgrid中,行事件所在的列实际上也是一个绑定列,故可以把行事件的列看成和普通列字段一样来对待。
可以通过设置 formatter 来动态实现编辑区事件标签。
由于行事件可能需要传递当前行的其他列的值作为参数,可以通过 rowObject 来获取指定列的值。如:rowObject.Name 或 rowObject["Name"]
请参考以下代码块:
//初始化操作区所在列 var curRowF = { //label: "操作区",//标签内容 label: '<label title="操作区" style="width:98%;text-align:center">操作区</label>', name: "actions",//字段编码 align: "center",//横向位置 sortable: false,//是否排序 hidden: false,//是否隐藏 frozen: true,//是否冻结 // width: 80,//列宽度 width: outEventArr.length * 30,//列宽度 formatter: function (cellvalue, options, rowObject) { return cellvalue; } }; var formatRowFun = function (cellvalue, options, rowObject) { var lbl = ""; if (outEventArr != null && outEventArr.length > 0) { for (var j = 0; j < outEventArr.length; j++) { var ev = outEventArr[j]; if (ev.EventType == "1")//为行事件时 { lbl += OutEventForLabel(ev, null, rowObject, cellvalue) + " "; } } } return lbl; };