在Jqgrid中显示Enum描述而不是Enum

时间:2012-04-11 09:06:41

标签: jquery jqgrid struts2

我有一个用Java编写的Enum:

public enum Status
{
  ACTIVE("Active"), IN_ACTIVE("InActive");

  Status(String desc)
  {
    this.description = desc;
  }

  private String description;

  public String getDescription()
  {
    return description;
  }

  public void setDescription(String desc)
  {
    this.description = desc;
  }
}

此枚举是jqGrid中的属性。但它始终显示枚举,即ACTIVE或IN_ACTIVE。我希望jqgrid显示Active和InActive。 感谢

2 个答案:

答案 0 :(得分:2)

您可以编写custom formatter来实现此目的。例如:

formatStatus: function (cellvalue, options, rowObject){
   if (cellvalue == "ACTIVE")
       return "Active";
   return "InActive";
}

然后确保使用colmodel中的格式化程序:

{name: 'status', formatter: formatStatus, ...},

这有帮助吗?

答案 1 :(得分:1)

在您的枚举中实现toString(),如下所示

public toString() {
    return description;
}

这将确保您的json响应具有描述而不是Enum名称。