找回密码
 立即注册

QQ登录

只需一步,快速开始

18889186136

初级会员

12

主题

30

帖子

340

积分

初级会员

积分
340

活字格认证

[已处理] 删除列(严重)

18889186136
初级会员   /  发表于:2015-12-18 10:03  /   查看:5929  /  回复:6
var activeSheet = $("#spreadContainerEdit").wijspread("spread").getActiveSheet();
     activeSheet.setDataSource("xxxxxxxxxxxxx") --- 我往里面设值。

使用activeSheet.deleteColumns(x,y);  --- 使用删除
然后页面上显示确实是删掉了
但是 var rowsObj = activeSheet.getDataSource();  --取值
  发现 还是存在。
问题:表面上删除了,实际没删除,这是为什么呢?
         备注:如果我不是用 setDataSource(),就可以。

6 个回复

倒序浏览
frank.zhang
社区贡献组   /  发表于:2015-12-18 17:44:00
沙发
您好,

可以尝试使用
activeSheet.clearPendingChanges();

看是否能够解决问题。
回复 使用道具 举报
18889186136
初级会员   /  发表于:2015-12-18 18:06:00
板凳
回复 2楼frank.zhang的帖子

还是不行。很奇怪。删除行可以,删除列不行。


备注:会不会和我把行头改了有关?
回复 使用道具 举报
18889186136
初级会员   /  发表于:2015-12-18 18:07:00
地板
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-12-21 14:42:00
5#
您好,

删除Column,是修改数据源的模型,而是不是修改数据。
所以无法通过deleteColumns删除,您可以使用循环的方式,将每个数据里面的值删除。
回复 使用道具 举报
18889186136
初级会员   /  发表于:2015-12-21 16:57:00
6#
回复 5楼frank.zhang的帖子

这样对吗?
1为什么删除行可以,但是删除列不行?这应该是一个概念呀,不太理解?
2 为什么不用.setDataSource()赋值,而直接写到excel,就可以删除列?
这里这样的设计是否不太合理?
备注:你给这的循环删除确实是能解决问题。但是这样的做法是不得已为之,难道没有其他解决方案了?

评分

参与人数 1金币 +999 收起 理由
Alice + 999 奖励金币

查看全部评分

回复 使用道具 举报
Helen
高级会员   /  发表于:2015-12-22 16:35:00
7#
回复 6楼18889186136的帖子

您好!
对于数据绑定来说,数据的增删改查本就是合理行为,而更改数据库原本设计的字段是不合理的行为。
1. 因为行对应的是数据源可提供操作的一条数据,列对应的数据源中的一个字段。列删除会将数据源的模型改变,而这本来就是不被允许的。
2.因为不用数据绑定,数据就不存在数据库字段不允许变更的情况。
谢谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部