我们正在实现一个用户偏好,在网格上(即时)显示“更多”或“更少”的数据。"More“应该增加行高(每一行都有相同的增加的高度)。
当用户切换时,我们更新我们的DataView,并使用更新的rowHeight值在网格上调用setOptions。然后,我们调用invalidate()和render()。
但是行高没有被更新。:(
有人能给出一个解决方案吗?我们应该直接通过CSS改变高度吗?如果是这样的话,有什么建议吗?
发布于 2012-05-18 22:43:23
你可以通过css做到这一点。查看slick.grid.css
文件,并在其中进行所需的更改。
请看一下
.slick-row.ui-widget-content
,.slick-row.ui-state-active
类
或
您可以使用SlickGrid的rowHeight
属性
看一下网格选项
发布于 2016-02-19 00:42:45
我将一个函数附加到我的网格,它使我能够扩展行高度:
var normalHeight = 25;
var expandedHeight = 100;
var columns = [
{id: "col1", name: "Column 1", field: "col1", expanded: false},
{id: "col2", name: "Column 2", field: "col2"}
];
var options = {
rowHeight: normalHeight
};
var dataView = new Slick.Data.DataView();
var grid = new Slick.Grid(element, dataView, columns, options);
grid.updateOptions = function(expanded){
var columns = grid.getColumns();
if(!expanded){
options['rowHeight'] = normalHeight;
columns[0]['expanded'] = false;
}else{
options['rowHeight'] = expandedHeight;
columns[0]['expanded'] = true;
}
grid.setOptions(options);
grid.setColumns(columns);
grid.invalidate();
grid.render();
}
它似乎工作得很好,希望这对某些人有帮助。
https://stackoverflow.com/questions/10535164
复制相似问题