如何将css类添加到slickGrid中的特定行?
我搜索了所有地方,以了解如何将类添加到slickgrid中的特定行。它看起来像过去有一个rowCssClasses的财产,但现在不见了。在此方面的任何帮助都将不胜感激 更新:我使用getItemMetadata解决了这个问题……因此在渲染之前,您必须执行以下操作:如何将css类添加到slickGrid中的特定行?,slickgrid,Slickgrid,我搜索了所有地方,以了解如何将类添加到slickgrid中的特定行。它看起来像过去有一个rowCssClasses的财产,但现在不见了。在此方面的任何帮助都将不胜感激 更新:我使用getItemMetadata解决了这个问题……因此在渲染之前,您必须执行以下操作: dataView.getItemMetadata = function (row) { if (this.getItem(row).compareThis > 1) { return {
dataView.getItemMetadata = function (row) {
if (this.getItem(row).compareThis > 1) {
return {
'cssClasses': 'row-class'
};
}
};
这将把“row类”注入到与if语句匹配的行中。这个getItemMetadata函数似乎不存在,直到您将它放在那里,并检查其中是否有任何内容。这让你很难找到它的选项,但是如果你在slick.grid.js文件中搜索getItemMetadata,你应该会找到一些隐藏的宝藏!我希望这对别人有帮助
如果有更好的方法,请告诉我。在较新版本的SlickGrid中,DataView提供了自己的getItemMetadata来为组标题和总计提供格式。不过,很容易将其与您自己的实现联系起来。比如说,
函数行\u元数据(旧的\u元数据\u提供程序){
返回函数(行){
var item=此.getItem(行),
ret=旧的元数据提供者(行);
如果(项目和项目){
ret=ret |{};
ret.cssClasses=(ret.cssClasses | |?'')+脏的;
}
返回ret;
};
}
dataView.getItemMetadata=行元数据(dataView.getItemMetadata);
您可以使用setCellCssStyles函数:
grid.setCellCssStyles(键,散列)
键-字符串键。将覆盖已与关联的任何数据
这把钥匙
哈希-由行号和
然后按列id。可以指定和分隔多个CSS类
按空间
例如:
{
0: {
“数字列”:“单元格粗体”,
“标题栏”:“单元格标题单元格突出显示”
},
4: {
“百分比列”:“单元格突出显示”
}}
我用它来突出显示网格中编辑的字段。我不喜欢getItemMetadata方法
myDataView.getItemMetadata = function(index)
{
var item = myDataView.getItem(index);
if(item.isParent === true) {
return { cssClasses: 'parentRow' };
}
else {
return { cssClasses: 'childRow' };
}
};
//在我的CSS中
.parentRow {
background-color: #eeeeee;
}
.childRow {
background-color: #ffffff;
}
行
参数的值是多少?我调试并查看行
始终=0
,因此项
始终是数据源中的第一项。这个答案似乎简单得多,而且还有一个优点,即允许我将注意力集中在单元格而不是行上。我使用它来更改行中每个单元格的背景,使整行显示为高亮显示。这很有帮助,因为我想覆盖前面应用的特定于单元格的背景色,所以我需要单独选择单元格,而不是行对象。