【发布时间】:2012-06-19 17:00:11
【问题描述】:
如何重新排列System.Windows.Forms.DataGrid 的列?
【问题讨论】:
如何重新排列System.Windows.Forms.DataGrid 的列?
【问题讨论】:
如果绑定数据表,则可以将列顺序更改为
dataTable.Columns["Column Name"].SetOrdinal(NewIndex);
您需要在绑定之前将 DataSource 设置为 null 并清理 GridView
dataGridView1.DataSource = null;
dataGridView1.Columns.Clear();
dataGridView1.DataSource = dataTable;
【讨论】:
通过按所需顺序将新数据写入网格。
考虑改用DataGridView。它具有更好的排序功能。
【讨论】:
DataGrid 没有列重新排序功能。
您可以将列 DisplayIndex 绑定到数据上下文中的某个整数。
<DataGridTextColumn Header="Name" DisplayIndex="{Binding Path=DisplayIndex_Name}" />
在后面的代码中,您可以只更改绑定参数的值,在这种情况下DisplayIndex_Name 和 DataGridTextColumn 的绑定 DisplayIndex 也会根据您给它的值而改变。
http://msdn.microsoft.com/en-us/library/system.windows.controls.datagridcolumn.displayindex.aspx
【讨论】: