2013-06-05 62 views
1

我試圖找出讓我的列以默認順序(從左到右)爲所有用戶啓動的最簡單方法。默認情況下在GridView中以特定的顯示順序顯示列

我嘗試在IList<T>中設置它們,我用它來填充數據源但不起作用。

難道我除了設置每列手動下面這個頁面上的說明任何選項 - >Reordering Columns

+0

你的意思是你想顯示列,只要你想要? – matzone

+0

從左到右....所以我有Col_1,Col_2,Col_3,Col_4,我希望它們顯示在左邊(或索引0)與Col_3開始,然後是Col_2,Col_4,Col_1。合理。我不是在說這裏的可視性。 –

+0

你檢查我的答案嗎? – matzone

回答

0

我走在VB.NET和我做了這樣的事情..

dgv.Columns(Col4).DisplayIndex = 0 
dgv.Columns(Col3).DisplayIndex = 1 
dgv.Columns(Col2).DisplayIndex = 2 
dgv.Columns(Col1).DisplayIndex = 3 
在C#中

你可以找到它here

0

電網將讀取並根據您的對象中的字段創建其列:

class MyObj 
    { 
     public string Column2 { get; set; } 
     public int Column1 { get; set; } 
    } 

上面的代碼將先加列2,然後列1在你的網格,而下面的代碼則相反:

class MyObj 
    { 
      public int Column1 { get; set; } 
      public string Column2 { get; set; } 
    } 

同去的數據表,它只是讀取它們的順序列。

要對它們重新排序,您可以使用移動方法,因爲您已經發現。

+0

你會這樣想,但它不會那樣工作。至少不是使用IList和RadGridView控件。不過謝謝。 –

+0

我已經在解決你的問題之前在樣本中測試了這一點,這就是它在我的結局中的表現。 – checho

1

看看下面的文檔。

http://www.telerik.com/help/winforms/gridview-populating-with-data-tips-when-binding-to-custom-collections.html

你幾乎可以定義你想要的列看起來像的方式。這裏是代碼:

radGridView1.MasterTemplate.AutoGenerateColumns = false; 
radGridView1.MasterTemplate.Columns.Add(new GridViewTextBoxColumn("Name")); 
radGridView1.MasterTemplate.Columns.Add(new GridViewTextBoxColumn("Attributes")); 
radGridView1.MasterTemplate.Columns.Add(new GridViewTextBoxColumn("LastAccessTime")); 
radGridView1.MasterTemplate.Columns.Add(new GridViewTextBoxColumn("CreationTime")); 
DirectoryInfo directory = new DirectoryInfo("C:\\"); 
FileSystemInfo[] filesInDirectory = directory.GetFileSystemInfos(); 
radGridView1.DataSource = filesInDirectory; 

正如你所看到的,我已經設置爲不自動生成列。然後我定義我想要的列。然後綁定數據源。這會給你你想要的訂單

請讓我知道這是否適合你。

相關問題