jqGrid 实现这种select - 同一列的不同行的select 的option 不同

来源:互联网 发布:软件安全检测 编辑:程序博客网 时间:2024/05/17 02:38

jqGrid 的简介

jqgrid 是一个基于jquery 的web 端 table/tree grid 的组件。

官方网址:

http://www.jqgrid.com


默认的select 定义方式

{name:'ship',index:'ship', width:90, editable: true,edittype:"select",editoptions:{value:"FE:FedEx;IN:InTime;TN:TNT;AR:ARAMEX"}}
默认的定义方式是在grid 的定义选项中设置 colModel 的col 定义按照以上的定义方式。
FE:FedEx ==> 冒号前面是value , 后面是显示的text.

这样的设定后, 一列下面所有的此栏位的下拉单的选项都是一样的。如何设定各行此栏位的选项不一致呢?
datatype 为非 local 的状况没有考虑过, 如果为local 的实现如下:


客制实现

colModel 中的定义

{name:'note',index:'note', editable:true,edittype:'custom', editoptions:{custom_element: myelem, custom_value:myvalue},width:150, sortable:false} ]

javascript function 定义
function myelem(value, options) {var el = document.createElement("select");if(value!=null&&value.length>0){  var optvalues = eval(value);  if(optvalues.length>0)  {  for(var i=0;i<optvalues.length;i++)      {  var optvalue = optvalues[i].optvalue;  var optdisplay = optvalues[i].optdisplay;  var optel = document.createElement("option");  optel.innerHTML = optdisplay;  optel.value = optvalue;  el.appendChild(optel);      }  }}return el;}function myvalue(elem, operation, value) {  if(operation === 'get') {  return $(elem).val();  } else if(operation === 'set') {  $(elem).val(value);  }}

data 的添加时, 此栏位的值以json 格式赋值: 像
{optvalue:'value',optdisplay:'display'}





原创粉丝点击