1

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

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

例如:

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 但这个或类似的事情是我想要做的。

这可能吗?

它在任何地方都有记录吗?(我看过,但找不到任何东西)。

提前致谢。

4

1 回答 1

1

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

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

无论如何,这里有一个示例,说明如何使用它rowObject来访问行数据:access-row-data-in-jqgrid-custom-formatter

这有帮助吗?

于 2012-05-23T15:46:42.393 回答