我的每一列都是复杂的类型。
使用自定义格式我希望能够显示一个属性的文本,然后根据其他属性为单元格着色(或做任何事情)。
例如:
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,但这个或类似的东西是我希望能够做到的。
这可能吗?
是否记录在任何地方? (我看了,但找不到任何东西)。
提前感谢。
答案 0 :(得分:1)
您可以做的是将复杂对象的每个字段作为自己的列传递,然后在格式化程序中,您可以使用格式化程序的rowObject
参数来访问其他值以执行您需要的任何操作,例如着色
或者,如果每个数字表示相同的显示文本,则可能不需要使用第二列。您可以使用选择格式化程序(或一个自定义版本)或查找表等。
无论如何,这是一个如何使用rowObject
访问行数据的示例:access-row-data-in-jqgrid-custom-formatter
这有帮助吗?