簡體   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