gpt4 book ai didi

javascript - 编辑可操作网格的单元格属性

转载 作者:行者123 更新时间:2023-11-30 16:43:02 29 4
gpt4 key购买 nike

我有一个 Handsontable 网格,用户将在其中输入一些值以将它们插入数据库。当他提交网格时,我希望特定单元格为“只读”。在本例中,我希望第一列为“只读”。

我使用 Ajax 发送数据库中的数据。在我的回调函数中,我想将单元格属性编辑为“只读”。

所以我现在拥有的是:

var cellProperties={};
var i;
for (var i = 0; i < data_traitement.length; i++) {

cellProperties.readOnly = true;
return cellProperties;
}

但是“cellProperties”选项只能在Handsontable 定义中使用。所以我不知道该用什么来做这件事。

有人可以帮帮我吗?

编辑:

在 ZekeDroid 的建议下,我尝试修改我的单元格定义:所以我得到了这个:

cells:function(row,col,prop){
var cellProperties = {};

if ([0].indexOf(row) !== -1 && col >= 0)
{
cellProperties.readOnly = true;
}

if (readOnlyCells[[row,col]]) {
cellProperties.readOnly = true;
}

return cellProperties;
}

在我的回调函数中,如果我理解得很好,我必须将此 readOnlyCells 更改为 true

所以我做了这个:

for (var i = 0; i < data_traitement.length; i++) {
readOnlyCells[[i,0]] = true; //I'm not sure of this line

}
hot.render();

最佳答案

如果您设置了 columns 选项(您应该这样做),您可以使用 HOT 实例和函数 updateSettings() 简单地更新选项。它会像这样工作:

hot.updateSettings({
columns: newColumns
});

在您的情况下,newColumns 应该是您的列的新定义。我建议制作一个返回这个新对象的函数。该对象将在文档页面中定义。在您的 ajax 回调中,您要确保这个新定义的第一列是 readOnly:true,然后您就完成了!

如果你只想做细胞,它可能比这更容易。您可以像这样保留单元格坐标图:

var readOnlyCells = {};

然后在您的回调中,添加键值对单元格坐标:readOnlyCells[[row,col]] = true。在此之后,您应该确保您的初始 cells 定义如下:

cells: function(row, col, prop) {
var cellProperties = {};

if (readOnlyCells[[row,col]]) {
cellProperties.readOnly = true;
}

return cellProperties;
}

就是这样。您可能希望像更新列一样更新设置,但无需更改代码。

关于javascript - 编辑可操作网格的单元格属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31655010/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com