spreadjs v17.1.9 数据源字段保留了中文,但是数据没了
本帖最后由 sunqinhui 于 2024-11-25 11:51 编辑spreadjs v17.1.9 数据源字段保留了中文 但是数据没了
这里是fetch在获取文件 spread.open() 中的回调函数中刷新字段
fetch(CONTENT_PATH, { mode: 'cors' }).then(res => res.blob()).then(blob => {
spread.open(blob, function () {
// 刷新字段
for (const t in spread.dataManager().tables) {
let schemaColumns =
spread.dataManager().tables.options.schema.columns;
let columns = spread.dataManager().tables.columns;
let map = {};
for (const key in schemaColumns) {
if (schemaColumns.dataName) {
map.dataName] = key;
}
}
spread.dataManager().tables.columns = null;
spread.dataManager().tables.options.schema.columns = null;
spread
.dataManager()
.tables.fetch(true)
.then(() => {
let option = spread.dataManager().tables.options;
for (const key in map) {
let ifSet = false;
if (spread.dataManager().tables.columns) {
ifSet = true;
}
delete option.schema.columns;
delete spread.dataManager().tables.columns;
if (ifSet) {
option.schema.columns] = schemaColumns];
spread.dataManager().tables.columns] =
columns];
}
}
designer.refresh();
});
}
});
});
您好,要实现这个需求需要调整内部对象,这会给您的项目带来一定的风险,请酌情慎重考虑后再使用:
let schemaColumns =
spread.dataManager().tables["表1"].options.schema.columns;
let columns = spread.dataManager().tables["表1"].columns;
let _data = spread.dataManager().tables["表1"]._dataSource._data;
let map = {};
for (const key in schemaColumns) {
if (schemaColumns.dataName) {
map.dataName] = key;
}
}
spread.dataManager().tables["表1"].columns = null;
spread.dataManager().tables["表1"].options.schema.columns = null;
spread
.dataManager()
.tables["表1"].fetch(true)
.then(() => {
let table = spread.dataManager().tables["表1"];
for (const key in map) {
let ifSet = false;
if (table.columns) {
ifSet = true;
}
delete table.options.schema.columns;
delete table.columns;
delete table._dataSource._data;
if (ifSet) {
table.options.schema.columns] = schemaColumns];
table.columns] = columns];
table._dataSource._data] = _data];
}
}
designer.refresh();
}); Joestar.Xu 发表于 2024-11-25 12:24
您好,要实现这个需求需要调整内部对象,这会给您的项目带来一定的风险,请酌情慎重考虑后再使用:
没有用, 还是没有数据 我这边本地是可以的:
Joestar.Xu 发表于 2024-11-25 13:56
我这边本地是可以的:
那我请问上面的代码要放在哪里运行 我上面已经说明了 在加载文件的回调处做的确实不能用而且还是使用单个数据源操作 没使用上述代码数据是在的 加了后数据反而没了 您好,按照您的描述,我在导入的时候执行该代码,仍然能够正常显示数据,我本地无法复现出您的问题,请您提供一个可以复现此问题的Demo,这边复现后帮您调研看看。
页:
[1]