我的一个jqGrid中有一个状态列。它保持值0或1.对我来说0表示不活动,1表示活动。所以我使用格式化程序在网格中显示Active / Inactive而不是0/1。 当我要编辑记录时,我发现在选择框中没有预先选择正确的值。在编辑视图中,选择框始终显示“活动”作为选定项。但是如果我在网格中显示0/1而不是使用格式化程序,则编辑窗口会在选择框所选项目中显示正确的值。但我需要显示Active / Inactive而不是0/1。
格式化
formatter: function(cellValue, options,
rowObject) {
var val="";
if(cellValue=='1')
val= "Active";
else if(cellValue=='0')
val='<span class="cellWithoutBackground" style="background-color:#FFF4F4;color:red;">Inactive</span>';
else
val= '';
return val;
答案 0 :(得分:0)
我无法想象您的问题背后的确切原因,但希望此解决方案能够为您提供帮助。
因此,将行编辑为select的基本基础是使用
完成的name: 'participants',
index: 'participants',
editable: true,
edittype:"select",
现在您需要以密钥对形式定义选择选项值,
editoptions:{value:"US:USA;CND:CANADA;FR:FRANCE;LUX:LUXEMBORG"}
//here US is the value of the select box and USA is the label displayed
在您发送给jqGrid的数据中,您需要将值发送为&#34; US&#34;不是&#34;美国&#34;如下所示,
var localdata = [{
"name": "Birthday",
"id": 1,
"date": 1284393600000,
"description": "John's 20th",
"participants": "US"},
{
"name": "New Year",
"id": 2,
"date": 1294329600000,
"description": "2011 New Year",
"participants": "CND"},
{
"name": "Christmas",
"id": 3,
"date": 1324742400000,
"description": "Once per year",
"participants": "LUX"}
];
因此,您选择的值的错误值可能是您面临的问题。
希望这有助于你的事业。
此致
答案 1 :(得分:0)
我建议您使用formatter: "select"
(参见文档here)和可选的cellattr
来设置单元格的颜色,这会更改单元格的颜色/背景“非活动”。有关cellattr
用法的更多示例,请参阅the answer和this one。
如果您需要突出显示整行而不是一个单元格,则可以使用rowattr
代替cellattr
(请参阅here)。