【发布时间】:2014-03-24 21:36:21
【问题描述】:
我需要一些关于向 slickgrid 中的 Column 对象添加自定义属性的建议。这是某些情况,我将尝试解释以使我的问题陈述清楚。
我正在尝试编写一个自定义格式化程序,它使用原始文本的前 4 个字符将城市名称缩写和大写(我已经删除了其他规则以使这个问题易于解释)。因此,例如,夏洛特将在格式化程序中成为 CHAR。我想对不同的字符串列进行类似的格式化,但我需要显示并大写 5 个字符。
这是我尝试过的。
我编写了一个自定义格式化程序并在列对象中传递了自定义属性“NumOfChar”。此属性可在格式化程序的 ColumnDef 对象中访问。我很想知道这种方法是否正确且可以接受,或者有更好的方法来实现这一点。
AbbreviationFormatter = function(row, cell, value, columnDef, dataContent) {
var output = '';
if(! columnDef.NumOfChar) {
columnDef.NumOfChar = 4 // sets default
}
if(value) {
output = value.substring(0, columnDef.NumOfChar).toUpperCase();
}
return output;
}
列定义中的某处
var columns = [ { id: 'id_1',
field='city',
name='city',
formatter: AbbreviationFormatter,
NumOfChar: 4 },
{ id: 'id_2',
field='randomString',
name='randomString',
formatter: AbbreviationFormatter,
NumOfChar: 6 } , ...
];
谢谢。
【问题讨论】:
标签: javascript slickgrid formatter