将JQGrid绑定到复杂类型

时间:2012-05-23 15:37:50

标签: asp.net-mvc-3 jqgrid

我的每一列都是复杂的类型。

使用自定义格式我希望能够显示一个属性的文本,然后根据其他属性为单元格着色(或做任何事情)。

例如:

public class MyRowObject
{
    public MyCellObject Cell1 { get; set; }
    public MyCellObject Cell2 { get; set; }
    public SomeOtherCellObject Cell3 { get; set; }

}

public class MyCellObject
{
    public string MyDisplayText { get; set; }
    public int MyNumber { get; set; }
}

然后使用自定义格式化程序javascript函数来执行操作,例如:

function formatCourseData(cellValue, options, rowObject) {

    var linkHTML = cellValue.MyDisplayText;
    if (cellValue.MyNumber > 10) {

        //format the html in some way

    }

    return linkHTML;
}

现在我知道我不能做cellValue.MyDisplayText,但这个或类似的东西是我希望能够做到的。

这可能吗?

是否记录在任何地方? (我看了,但找不到任何东西)。

提前感谢。

1 个答案:

答案 0 :(得分:1)

您可以做的是将复杂对象的每个字段作为自己的列传递,然后在格式化程序中,您可以使用格式化程序的rowObject参数来访问其他值以执行您需要的任何操作,例如着色

或者,如果每个数字表示相同的显示文本,则可能不需要使用第二列。您可以使用选择格式化程序(或一个自定义版本)或查找表等。

无论如何,这是一个如何使用rowObject访问行数据的示例:access-row-data-in-jqgrid-custom-formatter

这有帮助吗?