Grid或Listview Row&列重新排序WPF

时间:2011-01-31 09:07:41

标签: .net wpf listview datagrid

如何在wpf中重新排序grid和listview的行和列。请讨论。感谢

2 个答案:

答案 0 :(得分:3)

可以在运行时通过拖放列标题对列进行重新排序。要重新排序程序化列,您需要修改ListView.View的Columns集合,例如:

GridView gv = listview.View as GridView;
GridViewColumn cd = gv.Columns[0];
gv.Columns.Remove(cd);
gv.Columns.Add(cd);

(假设listview是你的ListView,它的View是一个至少有2列的GridView),这段代码会把第一列放在最后。

要重新排序行,编程,您修改ListView后面的Collection(如果ListView没有排序,如果它有一个不应该更改行的顺序)。

要通过拖放重新排序行,您需要编写一些代码来处理定义拖放操作的所有漂亮事件。示例和起点可以是this blog post

此外,如果您提供更多详细信息,我们可以提供更详细的答案。

答案 1 :(得分:0)

如果你想重新排序行并保存或使用新的行顺序,我建议你添加一个名为Index或RowIndex的列,或者也可以添加一个对你控件的基础数据源的列,这样就可以通过Drag& Drop操作更改给定行的该列的值,并且在完成所有操作后,您可以将此值存储或使用该值用于下一个渲染或其他任何需要的内容。