关于c#:Datagridview冻结的列在右侧

Datagridview frozen columns on right side

我有与列的datagridview

1
col A | col B | ... | col M | col N

现在,我想冻结右侧的col N,以便当用户水平滚动datagridview时,可以水平滚动A,...,M列,但col N保持冻结。

现在,我尝试为col N设置Frozen属性,但是随后冻结列的左侧的所有列也被冻结,这是我不希望的。
我能想到的最好的办法是反转绑定到DataGridView的DataTable的列,以便它现在具有顺序

1
col N | col M | ... | col B | col A

然后从RightToLeft绘制DataGridView,以便再次反转列,然后显示为

1
col A | col B | ... | col M | col N

我尝试的另一种解决方案是提取必须冻结的最右边的列,并将它们放在右侧的其他DataGridView中,并将其余的列放在原始DataGridView中,然后同步它们的垂直滚动。
现在我的问题是,是否有更好的方法可以做到这一点?

或者换句话说:

如何冻结datagridview右侧的列而不冻结其他列?


乔,在c#DataGridView中,您可以像在excel中一样,仅在表的开头冻结表中间的列。 这是有道理的,因为如果我们冻结中间列,那么我们不知道它在侧面应该如何反应。 我们是否需要两个滚动条用于不同的侧面?

从这里您可以看到这是C#想要的行为:

冻结列时,其左侧的所有列(或从右到左的语言中的右侧)也会被冻结。 冻结列和未冻结列组成两组。 如果通过将AllowUserToOrderColumns属性设置为true启用了列重新定位,则用户无法将列从一个组拖到另一个组。