找回密码
 立即注册

QQ登录

只需一步,快速开始

afei_liuge
金牌服务用户   /  发表于:2023-10-25 12:06  /   查看:2841  /  回复:3
1金币
列移动后,列的顺序变了, 但重新绑定datatable 后,列的顺序不会datatable中的顺序。


请问要怎么样,表格中的列的顺序一定是跟着重新绑定后的datatable的顺序。

最佳答案

查看完整内容

了解到你这边本身也没有给列设置dataField属性,完全是自动绑定的 那么每次绑定的数据源有可能一样,有可能不一样(数据字段,数据行)。 所以你题目中出现的问题现象,只是恰好是在再次绑定了相同字段的数据源的时候,才用了原来已经自动创建的数据绑定关系。导致列的顺序仍然是你拖动后的顺序。 要完全重新绑定,肯定是相当于绑定了一个全新的数据源,那么此前根据这个数据源所做的设置,以及排序过滤等结果就是应该重置 ...

3 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-10-25 12:06:25
来自 4#
了解到你这边本身也没有给列设置dataField属性,完全是自动绑定的
那么每次绑定的数据源有可能一样,有可能不一样(数据字段,数据行)。

所以你题目中出现的问题现象,只是恰好是在再次绑定了相同字段的数据源的时候,才用了原来已经自动创建的数据绑定关系。导致列的顺序仍然是你拖动后的顺序。

要完全重新绑定,肯定是相当于绑定了一个全新的数据源,那么此前根据这个数据源所做的设置,以及排序过滤等结果就是应该重置的,你可以再重新进行设置即可

上面提到的不管是把列删除,还是清除DataField 属性的值,实际都是去掉了绑定关系型



回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-10-25 16:52:47
2#
如果是想要继续自动绑定的话,可以尝试清除当前所有列绑定的DataField,但是实际的列顺序仍然是你拖动后的列顺序(数据列顺序正常)
fpSpread1.ActiveSheet.Columns[0].DataField = null;

或者你可以选择把列全删掉,然后在绑定


回复 使用道具 举报
afei_liuge
金牌服务用户   /  发表于:2023-10-26 09:53:37
3#
Richard.Ma 发表于 2023-10-25 16:52
如果是想要继续自动绑定的话,可以尝试清除当前所有列绑定的DataField,但是实际的列顺序仍然是你拖动后的 ...

这个解决不了问题。 现在需要的是重新绑定后 列的顺序是要按照新数据源的列的顺序来绑定。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部