afei_liuge 发表于 2023-10-25 12:06:24

列移动后,列的顺序变了, 但重新绑定datatable 后,列的顺序不会datatable中的顺序。

列移动后,列的顺序变了, 但重新绑定datatable 后,列的顺序不会datatable中的顺序。


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

Richard.Ma 发表于 2023-10-25 12:06:25

了解到你这边本身也没有给列设置dataField属性,完全是自动绑定的
那么每次绑定的数据源有可能一样,有可能不一样(数据字段,数据行)。

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

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

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



Richard.Ma 发表于 2023-10-25 16:52:47

如果是想要继续自动绑定的话,可以尝试清除当前所有列绑定的DataField,但是实际的列顺序仍然是你拖动后的列顺序(数据列顺序正常)
fpSpread1.ActiveSheet.Columns.DataField = null;

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


afei_liuge 发表于 2023-10-26 09:53:37

Richard.Ma 发表于 2023-10-25 16:52
如果是想要继续自动绑定的话,可以尝试清除当前所有列绑定的DataField,但是实际的列顺序仍然是你拖动后的 ...

这个解决不了问题。 现在需要的是重新绑定后 列的顺序是要按照新数据源的列的顺序来绑定。
页: [1]
查看完整版本: 列移动后,列的顺序变了, 但重新绑定datatable 后,列的顺序不会datatable中的顺序。