【问题标题】:How do I reorder the columns of a DataGrid?如何重新排序 DataGrid 的列?
【发布时间】:2012-06-19 17:00:11
【问题描述】:

如何重新排列System.Windows.Forms.DataGrid 的列?

【问题讨论】:

    标签: c# .net datagrid


    【解决方案1】:

    如果绑定数据表,则可以将列顺序更改为

    dataTable.Columns["Column Name"].SetOrdinal(NewIndex);
    

    您需要在绑定之前将 DataSource 设置为 null 并清理 GridView

    dataGridView1.DataSource = null;
    dataGridView1.Columns.Clear();
    dataGridView1.DataSource = dataTable;
    

    【讨论】:

    • 我有一个 DataGrid,而不是 DataGridView。没有 Columns 属性。
    【解决方案2】:

    通过按所需顺序将新数据写入网格。

    考虑改用DataGridView。它具有更好的排序功能。

    【讨论】:

    • 他想对列进行排序,而不是对行进行排序(至少问题是这样说的:))
    • 我想我的答案还是一样的,只是 DataGridView 对列没有多大帮助。
    • 这个答案没有任何意义。数据已经在网格中。
    • 您必须将现有数据从网格中取出,并将新数据放在那里。 DataGrid 没有列重新排序功能。
    • 这就是我想知道的。谢谢。
    【解决方案3】:

    您可以将列 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

    【讨论】:

      猜你喜欢
      • 2010-11-17
      • 2010-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-23
      • 1970-01-01
      • 2013-05-13
      • 1970-01-01
      相关资源
      最近更新 更多