繁体   English   中英

列标题的Datagridview排序-Winform C#

[英]Datagridview Ordering of Column Headers- Winform C#

我有一个绑定到datagridview的数据表。 但是,列的顺序混乱了。 我已经为每个字段放置的数据属性名称创建了列标题。 我将其安排在设计器视图中。 但是,如果我运行程序列标题,则不会遵循我的安排。 = _ =。 有人知道如何解决这个问题吗?

编辑::我已经尝试过这种方法。 可以吗

void SortDataGridViewColumns(DataGridView dgv)
{
    var list = from DataGridViewColumn c in dgv.Columns
               orderby c.Index
               select c;

    int i = 0;
    foreach (DataGridViewColumn c in list)
    {
        c.DisplayIndex = i++;
    }
}

***我在这里有这个,但是我使用Index而不是Headertext。 结案了! 大声笑

我认为您将需要在运行时更改列顺序。

从MSDN:

当您使用DataGridView显示数据源中的数据时,数据源架构中的列有时不会按照您希望的顺序显示。 您可以使用DataGridViewColumn类的DisplayIndex属性来更改列的显示顺序。

您可以像这样更改列的顺序:

private void AdjustColumnOrder()
{
    customersDataGridView.Columns["CustomerID"].Visible = false;
    customersDataGridView.Columns["ContactName"].DisplayIndex = 0;
    customersDataGridView.Columns["ContactTitle"].DisplayIndex = 1;
    customersDataGridView.Columns["City"].DisplayIndex = 2;
    customersDataGridView.Columns["Country"].DisplayIndex = 3;
    customersDataGridView.Columns["CompanyName"].DisplayIndex = 4;
}

http://msdn.microsoft.com/zh-CN/library/wkfe535h.aspx#Y0

如果您不打算经常使用它,我建议您使用扩展方法来添加句法糖,并使其易于阅读和维护。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM